Grundlagen der Webtechnologien
<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>Es gibt keine weiteren Stilangaben. Welche Farbe hat der Text „Hello“ im obigen HTML?
- ARot (red)
- BGrün (green)
- CBlau (blue)
Antwort und Erläuterung anzeigen
Antwort: A. Rot (red)
Treffen mehrere Regeln auf dasselbe Element zu, gewinnt die Regel, deren Selektor die höhere Spezifität hat. Die Spezifität wird als Tupel (Anzahl der IDs, Anzahl der Klassen, Attribute und Pseudoklassen, Anzahl der Elemente) verglichen: #main p hat (1, 0, 1), .content p und p.note haben beide (0, 1, 1); deshalb wird das Rot von #main p verwendet, das eine ID enthält. Bei Regeln gleicher Spezifität gewinnt die später geschriebene. Eine direkt im style-Attribut geschriebene Angabe oder eine mit !important hat Vorrang vor diesen.