OVH Cloud OVH Cloud

[css] !important

8 réponses
Avatar
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

8 réponses

Avatar
Daniel Glazman
Mac Larinett wrote:

Une règle "important sera toujours prioritaire sur une autre, c'est



Pour être exact, une règle !important est prioritaire sur toute autre
règle de même spécificité.

</Daniel>
Avatar
HBigal
> Une règle "important sera toujours prioritaire sur une autre, c'est

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
Avatar
Pierre Goiffon
HBigal wrote:
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 ?



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/
Avatar
Olivier Miakinen
Le 26/05/2004 16:14, Daniel Glazman a écrit :

Mac Larinett wrote:

Une règle "important sera toujours prioritaire sur une autre, c'est



Pour être exact, une règle !important est prioritaire sur toute autre
règle de même spécificité.



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/cascade.html#cascading-order
http://www.yoyodesign.org/doc/w3c/css2/cascade.html#cascading-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é.
Avatar
HBigal
>
>> Une règle "important sera toujours prioritaire sur une autre, c'est
>
> Pour être exact, une règle !important est prioritaire sur toute autre
> règle de même spécificité.

D'après la norme (et la logique), la proposition de Mac Larinett me
semble plus exacte que la tienne.




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
Avatar
Olivier Miakinen a ecrit :

Le 26/05/2004 16:14, Daniel Glazman a écrit :

> Mac Larinett wrote:
>
>> Une règle "important sera toujours prioritaire sur une autre, c'est
>
> Pour être exact, une règle !important est prioritaire sur toute autre
> règle de même spécificité.

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/cascade.html#cascading-order
http://www.yoyodesign.org/doc/w3c/css2/cascade.html#cascading-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é.



Et y en a pour dire que les css c'est facile !
J'a reen compris d'a reen compris ! :-/
Et y a t'y qqu'un qu'aurait pondu les abaques correspondants ?

--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Avatar
Olivier Miakinen
Le 28/05/2004 00:24, HBigal a écrit :

D'après la norme (et la logique), la proposition de Mac Larinett me
semble plus exacte que la tienne.



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 :))



Oui, je sais bien, mais même les demi-dieux ont le droit d'avoir un coup
de fatigue et de dire une connerie de temps en temps. ;-)
Avatar
HBigal
> 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 :))

Oui, je sais bien, mais même les demi-dieux ont le droit d'avoir un coup
de fatigue et de dire une connerie de temps en temps. ;-)



Ca, oui... D'ou notre demande de confirmation de l'information.

--
Harmen CHRISTOPHE