28221 sujets

CSS et mise en forme, CSS3

Bonjour,

alors voila, j'ai défini une charte graphique pour mon site et notamment un ensemble de couleurs qui vont bien ensemble.

Ce que je voudrais, c'est définir des variables col1 = #000, col2 = #fff, ... pour pouvoir utiliser les valeurs col1, col2, ... pour définir par exemple les couleurs de fond et de bordure de mes <div> et ...

Ne me répondez pas qu'il suffit de définir des classes. Ce que je veux, c'est justement pouvoir dire que dans telle classe de telle balise, j'utilise pour couleur de fond la couleur du texte de telle autre balise de telle classe.

Est-ce que quelqu'un aurait une proposition à me faire ?
Merci d'avance.
Administrateur
Tu aurais vite fait d'avoir des redondances cycliques (la couleur de l'oeuf descend de la couleur de la poule qui descend de la couleur de l'oeuf qui ... Smiley biggrin ) ou des problèmes d'antériorité (A, c'est B mais B n'est défini que plus loin dans la page ou CSS. Y a pas 2 passes d'interprétation comme dans un compilateur de langage informatique!)

Utilise un langage serveur ou sur ta machine qui va générer les pages/CSS en fonction de variables si possible (PHP ou autre ...)

EDIT: oups en fait si, y a peut-être moyen Smiley nuts
En-dehors de l'héritage, tu peux regrouper des déclarations
http://www.w3c.org/TR/CSS1#id-as-selector (§1.5 et 1.6) mais ça va pas être aussi simple que des variables (il doit plutôt s'agir de constantes symboliques d'ailleurs)
Administrateur
Perso, j'utiliserais un chercher/remplacer massif dans ton éditeur sur la page (ou sur les pages, y a des éditeurs qui font ça sans parler de 'sed' sous Linux).
Tu conçois ta page avec des couleurs comme __COULEUR1JOLIE__ et __COULEUR2__ etc
Tu enregistres, donne l'attribut 'lecture seule' au fichier Smiley biggrin
Tu travailles maintenant avec une copie à chaque fois que tu veux un style différent (enfin le but est de pas écraser le fichier d'origine Smiley sweatdrop ) et tu cherches/remplaces toutes les couleurs en autant de manips qu'il y a de couleurs!
(jaimelabidouille.com)
Merci pour ces réponses rapides !

J'avais bien pensé à ces deux solutions mais je ne peux utiliser de "technologies serveurs" car il s'agit de pages hébergées par mon employeur et qu'aucun serveur ne sera installé avant longtemps Smiley decu et je voulais éviter de recourir à des remplacements par éditeur car ils ne permettent pas de modificationsultérieures dans le cas ou plusieurs variables auraient la même valeur.

Bon, j'en conclue qu'il n'est pas possible de définir des variables et je vais donc m'orienter vers une écriture de mes CSS à partir d'un batch.

Encore merci quand même !
J'ai un début de solution Smiley smile , je ne savais pas qu'on peut écrire quelque chose du style

p{
color: body.background-color;
background-color: body.color;
}

Il ne me reste plus qu'à bien choisir les balises auxquelles j'affecte des valeurs numériques. Ce n'est pas aussi pratique et surtout lisible que si j'avais pu définir des variables mais c'est toujours ça de pris.
ksstiti a écrit :
p{
color: body.background-color;
background-color: body.color;
}

Personnelement je n'avais jamais rencontré une telle syntaxe.
Igor a écrit :

Personnelement je n'avais jamais rencontré une telle syntaxe.


En effet, je ne pense pas que cette syntaxe soit correcte.
Modifié le 08 Nov 2004 - 07:32
C'est comme déterminer l'un sans connaitre l'autre ... Mais comment connaitre l'autre si on ne sait pas déterminer l'un ?

... Y a un binz ... Smiley hum