Özgüllüğü araştırırken bu bloga rastladım - http://www.htmldog.com/guides/cssadvanced/specificity/
Özgüllüğün CSS için bir puanlama sistemi olduğunu belirtir. Bize öğelerin 1 puan, sınıfların 10 puan ve kimliklerin 100 puan değerinde olduğunu söylüyor. Ayrıca, bu noktaların toplandığını ve toplam miktarın bu seçicinin özgüllüğü olduğunu söyler.
Örneğin:
body = 1 nokta
gövde. sarmalayıcı = 11 puan
gövde. sarmalayıcı # kapsayıcı = 111 puan
Dolayısıyla, bu noktaları kullanarak, aşağıdaki CSS ve HTML'nin metnin mavi olmasına neden olmasını bekliyorum:
#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>
100 puana eşit olan 1 kimlik ile karşılaştırıldığında 15 sınıf 150 puana eşitken metin neden kırmızıdır?
Görünüşe göre puanlar sadece toplanmıyor; sıralı. Bununla ilgili daha fazla bilgiyi buradan okuyun - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
Bu, seçicimizdeki sınıfların = 0,0,15,0
OR olduğu anlamına mı geliyor 0,1,5,0
?
(Böyle kimlik seçicinin özgüllük görünüyor BİLMEK olarak içgüdülerim, eski söyle: 0,1,0,0
)