Css Dynamique

Bonjour cher membre de la Communauté ,

Je suis confroté a un petit problemes et je souhaite solliciter votre aide .

J'aimerais savoir si il etait possible de faire en sorte que le css s'adapte a la demande de l'utilisateur . SI oui ? Comment et avec quel language serait-il possible de le faire ? Avez-vous des exemple de scrip ?

Par exemple >> Google propose maitenant de modifier l'image de fond . Je souhaiterais faire de meme . avec des images predefini .

Je vous remercie tous pour votre ( futur ) aide .

3 réponses

  1. Plusieurs manière de procéder.
    Soit tu places le CSS directement sur la balise.

    echo'<body style="background:url('.$data['background'].');">
    [...]
    </body>';


    Soit celui-ci est simplement placé entre les balises <style></style> :
    echo'<style type="text/css">
    body{background:url('.$data['background'].');}
    [...]
    </style>';


    Soit tu utilises un fichier css mais qui est en généré en PHP.
    <link href="style.css" rel="stylesheet" type="text/css" />

    Fichier:
    <?php
    //Requête SQL
    $sql='SELECT ...';
    [...]
    echo'body{background:url('.$data['background'].');}
    [...]';
    ?>

    Partant de ces exemple, tu pourra adapter ça a ton site.
    Je t'ai mis sur la voie... :)
    0
    1. Hello arthezius ,

      Je te suis tres reconnaisant de bien vouloir , m'aider . Mais etant un debutant . J'ai du mal a comprendre .

      Malgré tout tes conseils me sont precieux , et j'ai commencer , d'abord j'ai choisie de mettre le css dans un fichier css a part ( et donc je me sert de ca : <link href="style.css" rel="stylesheet" type="text/css" /> )

      Mais pour l'image de fond , j'ai choisie d'attribuer un attribu style a la balise Body<body style="background:url('http://www.google.fr/images/nav_logo29.png');">

      Et c'est a partir de ce moment la que je ne comprend plus et j'en suis toujours a la meme question , comment faire en sorte que la demande de l'utilisateur soit "enrengistré" et que le fond change . Sachant que je ne possede que quelques faible base en php

      Merci beaucoup de ton aide
      A bientot
      0
      1. Si ton background est défini directement sur la balise <body> c'est encore plus simple.

        Il te suffit de faire ça comme ça:
        <?php
        echo'<body style="background:url(';
        if(isset($_SESSION['login']))
        	{
        	// Requête permettant de récupérer les données du membre et donc le background qu'il choisit
        	// Je pars du principe que $data['background'] contient l'url de l'image choisi par le membre
        	echo $data['background'];
        	}
        else {echo'http://www.google.fr/images/nav_logo29.png';}
        echo');">';
        ?>
        0
      2. J'ai encore un peu de mal a tous saisir . J'en suis vraiment desolé . Comment donner un valeur a la variable data ?
        0
    2. arthezius, je crois que tu peux faire plus simple avec javascript (en plus, tu n'aura meme pas a utiliser le serveur !!!).
      Ex:

      *fichier page.html :
      <head><script type="text/javascript" src="jvscript.js"></script> </head>
      <body>
      <div>lien de l'image de fond :<input id="lien" type="text" />
      </div>
      </body>
      *fichier jvscript.js :

      window.onload = function()
      {
      focus();
      var lien = document.getElementById("lien");
      lien.onblur = bgurl();
      }

      function bgurl()
      {
      body.style.background("url("+lien.value+")");
      }

      apres t'enregistre dans un cookie (il sera sauvegardé sur ton pc), ou sur le serveur (en utilisant php).
      -1
      1. Tout dépends si l'image est à uploader ou non en fait.
        0
      2. oui, c'est vrai , mais moi j'ai donné le code dans le but d'optimiser les performances du serveur ;)
        0
      3. Ammmmmine > J'ai testé donc code en local , et c'est sans doute une erreur de ma part mais , il ne fonctionne pas . Peut-tu m'eclairer ?
        0
      4. humm , document.body.style.background = " 'url('+lien.value+')' ";

        essaye avec ca et dit moi si ca marche :p

        P.S: normalement le resonnement , il est bon :D
        0
      5. Je tombe sur un page qui m'indique le lien de l'image , puis rien en se passe quand j'entre un lien dans le formulaire , j'ai essayer de rajouter un bouton "submit" mais rien non plus
        0