28173 sujets

CSS et mise en forme, CSS3

Bonjour à toutes et à tous,

Petite question,

Est-t-il possible en CSS de faire de véritable expressions conditionnelles avec IF, ELSE et
ELSEIF avec des variables du type DOCUMENT_NAME.

Le but pour étant de modifier un affichage CSS en utilisant un même sélecteur.

Cordialement.
Modifié par sabbath (25 Jan 2008 - 11:12)
sabbath a écrit :
Bonjour à toutes et à tous,

Petite question,

Est-t-il possible en CSS de faire de véritable expressions conditionnelles avec IF, ELSE et
ELSEIF avec des variables du type DOCUMENT_NAME.

Le but pour étant de modifier un affichage CSS en utilisant un même sélecteur.

Cordialement.


Il faut éviter de changer le titre et la nature du post, sinon on ne va pas s'y retrouver Smiley smile

ps: sujet redéplacé.
Modifié par Igor (25 Jan 2008 - 11:19)
Salut sabbath Smiley cligne ,
sabbath a écrit :
Est-t-il possible en CSS de faire de véritable expressions conditionnelles avec IF, ELSE et
ELSEIF avec des variables du type DOCUMENT_NAME.

Le but pour étant de modifier un affichage CSS en utilisant un même sélecteur.
Hmmm... Pas compris ! Tu pourrais préciser ce que tu veux faire Smiley rolleyes ?
Heyoan a écrit :
Salut sabbath Smiley cligne ,Hmmm... Pas compris ! Tu pourrais préciser ce que tu veux faire Smiley rolleyes ?


Bonjour Heyon,

Admettons qu'on ai une déclaration CSS du style :

#id{
background-color: /* La couleur pourrait être modifier en fonction de la page appelante
}

Se qui donnerai quelque chose de la sorte :

#id{
IF($document_name=page1.html){ /* Si ma page se nomme page1 alors */
background-color:red;
}ELSEIF($domcument_name=page2.html){ /* Si ma page se nomme page2 alors */
background-color:blue;
}ELSE{ /* Pour tout autre nom de fichier on applique la condition suivante */
background-color:lime;
}ENDIF
}

Je sais qu'on peut obtenir de tel effet avec les fameux hacks, valable uniquement en
fonction des navigateurs mais la, je demande non plus en fonction du butineur mais du
fichier appelant la CSS.

Cela pourrait rendre pas mal de service et éviterai sans conteste à mon avis la création
d'attribut CSS inutiles.

Cordialement.
D'après ton exemple il me semble que ce serait tout de même mieux d'utiliser des class différentes sur chacune de tes pages (ce qui permettrait entre autres choses de ne pas alourdir ta css et de la garder dans le cache du navigateur) Smiley rolleyes !

Cela dit tu peux t'inspirer de cet exemple Smiley cligne !

A+
Merci pour ton exemple qui est ce que je recherche et que je sais faire.

La nuance étant que je cherche une éventuelle possibilité de produire cela sans me servir
d'aucun SSI et autre JavaScript.

Cordialement
sabbath a écrit :
je cherche une éventuelle possibilité de produire cela sans me servir d'aucun SSI et autre JavaScript.
Sauf que les css ne proposent aucune possibilité d'utiliser des tests conditionnels (if...else) donc sans langage de programmation je crois que ça va pas être possible Smiley biggol !
Bonsoir,

Hum...

Imaginons cette syntaxe conditionnelle. Elle nécessite avant tout un identifiant pertinent de la page.

Curieusement, celui-ci existe déjà : ID et classe(s) des éléments HTML ou BODY sont là pour cela. Et de manière passablement plus robuste que le nom du fichier ou tout autre emprunt à son URL.

Curieusement aussi, la syntaxe des sélecteurs, par le biais des combinaisons d'ID et de classe (éventuellement multiples) offre exactement les fonctionnalités conditionnelles recherchées. En fait, elle offre bien davantage grâce à la cascade.

Pourquoi diable vouloir réinventer la roue en plus carré ? Smiley cligne

Mais bon, peu importe, comme dit ci-dessus, y'a pas.
Modifié par Laurent Denis (25 Jan 2008 - 18:36)
sabbath a écrit :
Dans mon contexte sa permettrai d'avoir une CSS pseudo-dynamique pouvant évoluer au
fil de pages.


Salut ^^,
c'est que les post du dessus disait.. dans toute tes page ta unbody je suppose
tu met un id different dans caque page sur le body et tu lui attribue le style que tu veux

body{background-color:white;}
#page1{background:black}
#page2{background:red;}


ensuite pour les element de tes page (si tu veux aussi changer leur style) il suffit de mettre

#page1 .element1{color:red;}
#page2 .element1{color:yellow}


PS: j'ai pris Body comme exemple car c'st sur qu'il existe dns toute tes page ceci dit si ta des conteneur ca marche aussi avec ^^

voili voulou si j'ai bien compris c'est ca que tu veux faire Smiley lol ou sinon j'ai ren compris alors Smiley biggol et dans ce cas je m'excuse pour le post

edit : desolé j'avais pas vu que tu voulais eviter la creation d'attribut CSS.. dans ce cas autant pour moi j'ai rien dit Smiley confused
Modifié par hakkou (26 Jan 2008 - 13:33)