IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Faire passer une variable à un CSS, est-ce possible?


Sujet :

CSS

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut Faire passer une variable à un CSS, est-ce possible?
    Bonjour,

    L'intitulé n'étant peut-etre pas asssez clair, je recommence en détail.
    Un site traite de plusieurs thèmes et possède donc plusieurs couleurs (un code couleur par univers, il y en a 7). J'aimerais que ces couleurs soient définies dans le css selon l'univers dans lequel on se trouve.
    Pour cela je pense au PHP mais ne voit pas comment faire pour passer la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI univers01 
     ALORS couleur #000000
    SINON SI univers02
     ALORS couleur #FFFFFF
    etc.
    bref, est-ce que ça existe les conditions en faisant passer des variables pour les CSS?
    Merci de votre aide

  2. #2
    Membre confirmé Avatar de kodokan
    Profil pro
    Lycéen
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Par défaut
    Salut

    Tu n'est pas dans le bon forum ici , va plutot voir dans le forum php

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    if(tacondition){
       $color = "#f00";
    }
    else{
       $color = "#00f";
    }
    ?>
    <div style="background:<?=$color?>">bla</div>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    PHP je connais je te remercie kodokan, le problème est du coté CSS.
    Est-ce que je peux établir des conditions dans une feuille de style? et comment récupérer la variable qui vient de la page html dans une CSS?

    Si je poste sur le forum PHP, ils vont me renvoyer ici. tiens ça me rapelle quelque chose....

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    Salut Jos,
    merci de ta réponse, j'y ai pensé mais je ne peux pas utiliser la variable (ou son équivalent) dans le fichier css....
    je voudrais en fait, respecter les normes w3c, qui excluent (à court terme) les attributs "style". je sais, c'est chiant.
    peut-ettre que je demande l'impossible ?

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @miltonis : Heu, intégrer du PHP à une feuille de styles c'est impossible il me semble. ^^
    Déjà que Dreamweaver met une erreur sur le code que je t'ai fourni ...

  7. #7
    Membre confirmé Avatar de kodokan
    Profil pro
    Lycéen
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Par défaut
    Ben là je mis connais pas trop mais si tu enregistre ta page en tant que "mapage.css.php" et que tu rajoute des conditions dedans ... Ensuite tu peux faire un include dans le head.Pour récupérer tes variables dans ton css tu fais tes requetes avant le include .

    Encore une fois je ne suis pas sur, il faudrai que tu teste

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Oui tu peux très bien mettre mettre du PHP dans une CSS à condition de mettre l'extension .php à la place de .css, mais aussi de déclarer le document :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php header("Content-type: text/css; charset=UTF-8"); ?>

    Tout comme HTML, un fichier CSS peut-être rendu dynamique, et voir son contenu totalement intégré à un possible back-office : l'administrateur du site n'a donc plus à fignoler avec un éditeur de texte pour modifier une couleur.


    Pour convertir un fichier CSS en PHP, il suffit de passer son extension en .php (de style.css à style.php, par exemple), et de mettre en toute première ligne l'entête HTTP suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php header("Content-type: text/css"); ?>
    Le modèle de page HTML appellera ensuite directement le fichier via une balise link:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" media="screen" href="style.php">
    Le contenu de style.php peut dès lors être parfaitement dynamique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    header("Content-type: text/css");
    require_once("options.php");
    ?>
    body {
    background: <?=$cssBodyBackground ?>;
    color: <?=$cssBodyColor?>;
    }
    h1, h2, h3, h4 {
    color: <?=$cssHColor?>;
    }
    blockquote {
    color: <?=$cssBlockquoteColor ?>;
    }
    Attention cependant : le fichier CSS devra être généré à chaque chargement de page, et non "caché" en mémoire comme tout fichier statique. Une CSS dynamique doit donc répondre à un besoin précis.

    Une solution serait, alors, d'ajouter un entête au fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php header("HTTP/1.0 304 Not Modified"); ?>
    Le code 304 permet d'indiquer au navigateur que la page n'a pas été modifiée depuis le dernier chargement, et qu'il peut donc utiliser la version stockée dans son cache...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 200
    Par défaut
    génial!
    c'est tout à fait ce que je cherchais!
    merci de vos réponses

  10. #10
    Membre confirmé Avatar de kodokan
    Profil pro
    Lycéen
    Inscrit en
    Avril 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2006
    Messages : 127
    Par défaut
    pense à mettre

    bonnes continuations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire passer une variable dans du texte
    Par lloyd_r dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/03/2009, 17h29
  2. [AJAX] Faire passer une variable AJAX dans autre chose qu'un <div></div>
    Par fixbraun dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/02/2009, 14h34
  3. [AJAX] Faire passer une variable $_FILE par AJAX
    Par Mazike dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/03/2007, 12h22
  4. [xsl / Php] faire passer une variable XSL en PHP
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/05/2006, 12h59
  5. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo