[css] !important
Le
Stéven
Bonjour tous !
Petite question concernant l'usage de la propriété !important dans une
feuille de style
Voila le problème : j'ai un titre <h1> auquel je souhaite appliquer un
margin-top de 30px ; pas de problème avec Mozilla, il suit ce que je lui
dis ; mais pas de chance, IE interprète cela de façon loufoque et me
rajoute une bonne couche de margin, en gros deux fois plus que sous Moz.
J'utilise donc deux margin-top, comme cela :
margin-top: 30px !important;
margin-top: 10px;
Moz lit le premier et IE le second et j'obtiens ce que je veux
D'où ma question : la règle !important est-elle bien employée dans ce
cas ? S'agit-il de sa fonction première ? (j'ai cru entendre parler de
CSS d'auteur et d'utilisateur, kesako ? :o/ ) Quels sont les navigateurs
qui liront le !important et les autres ?
Merci pour vos infos,
Stéven
Petite question concernant l'usage de la propriété !important dans une
feuille de style
Voila le problème : j'ai un titre <h1> auquel je souhaite appliquer un
margin-top de 30px ; pas de problème avec Mozilla, il suit ce que je lui
dis ; mais pas de chance, IE interprète cela de façon loufoque et me
rajoute une bonne couche de margin, en gros deux fois plus que sous Moz.
J'utilise donc deux margin-top, comme cela :
margin-top: 30px !important;
margin-top: 10px;
Moz lit le premier et IE le second et j'obtiens ce que je veux
D'où ma question : la règle !important est-elle bien employée dans ce
cas ? S'agit-il de sa fonction première ? (j'ai cru entendre parler de
CSS d'auteur et d'utilisateur, kesako ? :o/ ) Quels sont les navigateurs
qui liront le !important et les autres ?
Merci pour vos infos,
Stéven

Poser une question


Pour être exact, une règle !important est prioritaire sur toute autre
règle de même spécificité.
</Daniel>
Moi qui croyait que la règle !important dépassée la spécificité...
Ainsi sur un exemple du type
/* CSS */
h2 {color:red!improtant}
<!-- HTML -->
<h2 style="color:green">Title</h2>
Je n'était pas étonné de voir mon texte en rouge ???
Bien que les spécificités de l'attribut style ("1, 0, 0, 0" ?) et du
selecteur h2 ("0, 0, 0, 0" ?) ne soient pas identique, la règle !important
permet de surcharger celle de l'attribut.
Je ne dois pas avoir compris les règles de calcul de cette spécificité,
est-il possible d'avoir rapidement quelques précisions, merci ?
--
Harmen CHRISTOPHE
Daniel donnera peut être plus de détails (j'espère !), au cas ou il y a
toujours ce document :
http://www.w3.org/TR/css3-selectors/#specificity
--
Pour me répondre par mail privé, merci de supprimer _NOSPAM_ de mon
adresse.
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/oe-quotefix/
D'après la norme (et la logique), la proposition de Mac Larinett me
semble plus exacte que la tienne.
http://www.w3.org/TR/REC-CSS2/casca...ding-order
http://www.yoyodesign.org/doc/w3c/c...ding-order
Une fois qu'on a fait un premier tri pour simplement trouver les règles
qui s'appliquent à un élément donné, le deuxième tri est fait sur
l'origine (auteur de la page ou utilisateur du navigateur) et sur le
!important. C'est seulement après, parmi les ex-aequo de ce deuxième
tri, que l'on calcule la spécificité.
Sans vouloir remettre ton intervention en cause et pour ton information,
Daniel Glazman est intervenu dans l'élaboration de cette norme en tant
membre du groupe de travail CSS du W3C :))
--
Harmen CHRISTOPHE