Bases des technologies web
<style>
#main p { color: red; }
.content p { color: green; }
p.note { color: blue; }
</style>
<div id="main" class="content">
<p class="note">Hello</p>
</div>On suppose qu'il n'y a aucune autre règle de style. Dans le HTML ci-dessus, de quelle couleur est le texte « Hello » ?
- ARouge (red)
- BVert (green)
- CBleu (blue)
Afficher la réponse et l'explication
Réponse : A. Rouge (red)
Lorsque plusieurs règles s'appliquent au même élément, c'est la règle dont le sélecteur a la plus grande spécificité qui l'emporte. La spécificité se compare comme un triplet (nombre d'ID, nombre de classes, d'attributs et de pseudo-classes, nombre d'éléments) : #main p vaut (1, 0, 1), tandis que .content p et p.note valent tous deux (0, 1, 1). C'est donc le rouge de #main p, qui contient un ID, qui s'applique. Entre règles de même spécificité, celle qui est écrite en dernier l'emporte. Une déclaration écrite directement dans l'attribut style ou marquée !important passe avant tout cela.
Continuer : 9 autres questions sur Bases des technologies web