28216 sujets

CSS et mise en forme, CSS3

Bonjour,
Je voudrais appliquer une mise en forme générique à l’ensemble de mon site, sauf un ou deux éléments.
1. Une première possibilité est de lister manuellement tous ceux que je veux. Bof et les mises à jour sont aussi manuelles.
élément 1, élément 2, élément 3…	{font-family;sans-serif}
.post	{font-family;serif}

2. Une seconde possibilité, plus intéressante, est de mettre la cascade en action en écrasant les règles génériques avec une règle spécifique après. C’est la méthode que j’utilise actuellement.
body, body *	{font-family;sans-serif}
.post	{font-family;serif}

3. Enfin, une troisième méthode, que je cherche à mettre en place (au moins sur le papier) serait de tirer parti de la règle CSS3 d’exclusion : la pseudo-class :not.
J’ai dans l’idée quelque chose de ce genre :
body:not(.post)	{font-family;sans-serif}
.post	{font-family;serif}

Seulement, je n’ai pas l’impression que l’on puisse exclure une classe.
• Première question : dans la solution 2, body, body * est-il nécessaire ? ou bien * suffit-il ? ou bien html, html *, html, html *…?
• Seconde question : est-il possible d’exclure une classe ? Comment ?
• Troisième question : l’hypothétique solution 3 est-elle pertinente/plus intéressante que la solution 2 ?
Merci
Modifié le 27 Jan 2005 - 10:29
Dans l'idéal, ça donnerait:


:not(.post) {font-family:sans-serif}


En faisant ça:


body:not(.post)	{font-family:sans-serif}


Tu cibles uniquement les éléments BODY qui n'ont pas de classe "post".

p.s: :not() fait partie de CSS3
Modifié le 27 Jan 2005 - 11:43
Bonjour,
Tu pourrais par exemple attribué un id spécifique au body de la ou les pages en question et modifier les styles concernés dans le contexte de cet id ?
FlorentG a écrit :
Hum, la pseudo-class :not, par quel navigateur est-elle gérée ?


Aucun, c'est juste un morceau de code que je voudrais mettre de côté pour quand elle sera gérée.

Merci Bobe pour la réponse Smiley smile
Modifié le 31 Jan 2005 - 04:46