Facendo ricerche sulla specificità mi sono imbattuto in questo blog - http://www.htmldog.com/guides/cssadvanced/specificity/
Afferma che la specificità è un sistema di punteggio per i CSS. Ci dice che gli elementi valgono 1 punto, le classi valgono 10 punti e gli ID valgono 100 punti. Va anche detto che questi punti sono sommati e l'importo complessivo è la specificità di quel selettore.
Per esempio:
body = 1 punto
body .wrapper = 11 punti
body .wrapper #container = 111 punti
Quindi, usando questi punti, mi aspetto che i seguenti CSS e HTML risultino nel testo blu:
#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>
Perché il testo è rosso quando 15 classi equivalgono a 150 punti rispetto a 1 ID che equivale a 100 punti?
Apparentemente i punti non sono solo sommati; sono concatenati. Leggi di più su questo qui - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
Ciò significa che le classi nel nostro selettore = 0,0,15,0
OR 0,1,5,0
?
(Il mio istinto mi dice che è il primo, poiché SAPPIAMO che la specificità del selettore di ID è simile a questa 0,1,0,0
:)