Qu'est-ce que !important
en CSS ?
Est-il disponible dans CSS 2 ? CSS 3 ?
Où est-il soutenu ? Tous les navigateurs modernes ?
Qu'est-ce que !important
en CSS ?
Est-il disponible dans CSS 2 ? CSS 3 ?
Où est-il soutenu ? Tous les navigateurs modernes ?
Elle signifie essentiellement ce qu'elle dit, à savoir que "ceci est important, ignorer les règles ultérieures et les questions habituelles de spécificité s'appliquent". este règle !
En règle générale, une règle définie dans une feuille de style externe est remplacée par un style défini dans le fichier head
du document, qui, à son tour, est annulé par un style en ligne à l'intérieur de l'élément lui-même (en supposant une spécificité égale des sélecteurs). La définition d'une règle à l'aide de la fonction !important
Le terme "attribut" ( ?) ne tient pas compte des préoccupations normales concernant la règle "postérieure" qui l'emporte sur les règles "antérieures".
En outre, en règle générale, une règle plus spécifique l'emporte sur une règle moins spécifique. Ainsi :
a {
/* css */
}
Est normalement annulé par :
body div #elementID ul li a {
/* css */
}
Comme ce dernier sélecteur est plus spécifique (et l'endroit où se trouve le sélecteur plus spécifique n'a normalement pas d'importance (dans le fichier head
ou la feuille de style externe), il encore remplacer le sélecteur moins spécifique (les attributs de style en ligne seront toujours remplacer le sélecteur spécifique "more-", ou "less-", car il est toujours plus spécifique.
Si, toutefois, vous ajoutez !important
à la déclaration CSS du sélecteur moins spécifique, il sera prioritaire.
Utilisation !important
a ses raisons d'être (bien que j'aie du mal à en trouver), mais c'est un peu comme utiliser une explosion nucléaire pour empêcher les renards de tuer vos poulets ; oui, les renards seront tués, mais les poulets le seront aussi. Et le voisinage.
Il fait également du débogage de votre CSS un cauchemar (d'après une expérience personnelle et empirique).
Il est également source de confusion pour de nombreux développeurs, car dans de nombreux langages de programmation, le préfixe ! signifie pas .
L'une des raisons d'être de !important serait dans un script de GreaseMonkey où vous remplacez délibérément le CSS d'autres personnes qui est probablement plus spécifique que le vôtre.
La règle !important est un moyen d'appliquer votre CSS en cascade, mais aussi de faire en sorte que les règles que vous jugez les plus cruciales soient toujours appliquées. les règles que vous jugez les plus cruciales soient toujours appliquées. Une règle qui a la propriété la propriété !important sera toujours appliquée, quel que soit l'endroit où cette dans le document CSS.
Donc, si vous avez les éléments suivants :
.class {
color: red !important;
}
.outerClass .class {
color: blue;
}
la règle la plus importante sera celle qui s'appliquera (sans tenir compte des spécificité )
Je crois !important
est apparu dans CSS1, de sorte que tous les navigateurs le supportent (IE4 à IE6 avec une implémentation partielle, IE7+ avec une implémentation complète)
C'est aussi quelque chose que vous ne voulez pas utiliser souvent, parce que si vous travaillez avec d'autres personnes, vous pouvez remplacer d'autres propriétés.
La confusion survient lorsque !
est un symbole pour NOT dans certaines langues, mais c'est plus clair maintenant.
Je suis particulièrement heureux que vous ayez inclus la syntaxe pour l'utilisation de !important
. CSS est suffisamment différent des autres langages pour qu'il soit facile d'oublier comment utiliser certaines choses.
Il est utilisé pour influencer le tri dans la cascade CSS lorsque le tri par origine est effectué. Cela n'a rien à voir avec la spécificité comme indiqué dans d'autres réponses.
Voici l'ordre de priorité, du plus faible au plus élevé :
Après cette spécificité s'applique aux règles qui ont toujours un doigt dans l'engrenage.
Références :
Comme l'a souligné @fabian-barney !important
est un modificateur pour le ordre en cascade developer.mozilla.org/en-US/docs/Web/CSS/Cascade (voir le tableau pour référence).
Il modifie les règles de priorité des cascades css. Voir la spécification CSS2 .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
w3.org/TR/CSS2/cascade.html#important-rules
23 votes
... à éviter autant que possible.
2 votes
Duplication possible de Comment lire !important en CSS ? , Quelles sont les implications de l'utilisation de "!important" en CSS ? et voir aussi : quand utiliser la propriété !important en css ? , Quand utiliser "!important" pour sauver la situation (en travaillant avec CSS)
2 votes
Ce n'est pas important. (blague de développeur web).
0 votes
Avec l'introduction des couches CSS dans un avenir proche, cette méthode peut être moins utilisée si le code est organisé correctement.