Nach Recherchen zur Spezifität bin ich auf diesen Blog gestoßen - http://www.htmldog.com/guides/cssadvanced/specificity/
Es heißt, dass Spezifität ein Punktesystem für CSS ist. Es sagt uns, dass Elemente 1 Punkt wert sind, Klassen 10 Punkte wert sind und IDs 100 Punkte wert sind. Es heißt auch, dass diese Punkte summiert werden und der Gesamtbetrag die Spezifität des Selektors ist.
Beispielsweise:
body = 1 Punkt
body .wrapper = 11 Punkte
body .wrapper #container = 111 Punkte
Wenn ich diese Punkte verwende, erwarte ich, dass das folgende CSS und HTML dazu führt, dass der Text blau ist:
#a {
color: red;
}
.a .b .c .d .e .f .g .h .i .j .k .l .m .n .o {
color: blue;
}
<div class="a">
<div class="b">
<div class="c">
<div class="d">
<div class="e">
<div class="f">
<div class="g">
<div class="h">
<div class="i">
<div class="j">
<div class="k">
<div class="l">
<div class="m">
<div class="n">
<div class="o" id="a">
This should be blue.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Warum ist der Text rot, wenn 15 Klassen 150 Punkte im Vergleich zu 1 ID entsprechen, was 100 Punkten entspricht?
Anscheinend werden die Punkte nicht nur summiert; Sie sind verkettet. Lesen Sie hier mehr darüber - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
Bedeutet das, dass die Klassen in unserem Selektor = 0,0,15,0
ODER sind 0,1,5,0
?
(mein Instinkt sagt mir , es ist die ehemalige, wie wir die ID - Auswahl der Spezifität wie folgt aussehen wissen: 0,1,0,0
)