J'ai un span avec 2 classes, comme ceci <span class="tag invalid_tag">abc</span>
. J'ajoute correctement la deuxième classe via jQuery et j'ai besoin des propriétés de la seconde classe pour remplacer la première, sans pour autant la supprimer. Par exemple, les propriétés sont la couleur de police et la couleur de fond. Habituellement, la balise est verte mais quand j'ajoute la classe "invalid_tag", elle devrait virer au rouge mais pas parce que la première classe a la priorité. Je voudrais savoir comment changer cette priorité, ou si je peux y arriver d'une manière différente.Priorité sur les classes css
Répondre
La priorité des déclarations CSS repose sur leur ordre dans le CSS (les déclarations ultérieures remplacent les précédentes) et leur spécificité (les déclarations plus spécifiques remplacent celles moins spécifiques). (Cela n'a rien à voir avec l'ordre dans lequel vous spécifiez les noms de classe dans l'attribut.) Plus dans Section 6 la spécification.
Voici un exemple de commande. Ce CSS
.foo {
color: red;
}
.bar {
color: blue;
}
avec ce HTML
<p class="foo bar">Hi there</p>
<p class="bar foo">Hi again</p>
... résultats dans deux paragraphes bleus, parce que la deuxième déclaration l'emporte sur le premier. (Live example) Cela se produit parce que les deux déclarations ont la même spécificité.
est ici une démonstration de spécificité:
Ce CSS
p.foo {
color: red;
}
.bar {
color: blue;
}
... avec les mêmes résultats HTML dans deux rouges paragraphes, parce que le sélecteur p.foo
est plus spécifique que le sélecteur .bar
, donc il a la priorité même si c'est plus tôt dans le CSS. (Live example)
- 1. sélecteur CSS priorité
- 2. ordre CSS/Priorité Aide
- 3. Classes CSS dans les classes
- 4. requête de priorité CSS
- 5. priorité de sélection dans les règles CSS
- 6. Problème de priorité CSS et jquery
- 7. Définir les classes CSS sur les tables dans Sitecore
- 8. Les classes CSS se chevauchent?
- 9. Raison de la priorité des propriétés CSS?
- 10. Classes et sous-classes CSS
- 11. jquery assouplir avec les classes CSS sur un ancien menu
- 12. CSS n'a aucun effet sur les classes dynamiques
- 13. Modifier les classes de boutons sur hover en CSS seulement
- 14. Compléter les classes CSS avec CDN
- 15. ASP.NET MVC classes CSS sur HTML.Controls
- 16. activer l'obfuscation pour les classes css GWT?
- 17. Comment redéfinir les classes CSS avec JavaScript
- 18. Les classes css ne fonctionnaient pas
- 19. Obtenir style.php prendre la priorité sur style.css
- 20. CSS - Hiérarchies de classes?
- 21. ID CSS et classes
- 22. Utilisez les classes doubles dans IE6 CSS?
- 23. Afficher les éléments avec certaines classes css
- 24. Fusion de classes CSS
- 25. Plusieurs pseudo-classes CSS
- 26. CSS - classes communes
- 27. Classes CSS valides?
- 28. sencha GXT classes css
- 29. classes CSS multiples
- 30. TinyMCE plusieurs classes CSS
+1 ne savait pas que .... http://jsfiddle.net/PmPhf/ – Rafay
En outre, vous pouvez réaliser cet effet avec une règle plus spécifique pour la barre. http://jsfiddle.net/PmPhf/1/ De cette façon, la règle peut être n'importe où et sera toujours prioritaire. Découvrez le fantastique http://www.stuffandnonsense.co.uk/archives/images/specificitywars-05v2.jpg –
@Erik: J'ai abordé la spécificité, je ne suis pas sûr de savoir ce que vous faites ...? –