Досліджуючи специфіку, я натрапив на цей блог - http://www.htmldog.com/guides/cssadvanced/specificity/
У ньому зазначається, що специфіка є системою бальних оцінок для CSS. Це говорить нам, що елементи вартують 1 бал, класи - 10 балів, а ідентифікатори - 100 балів. Крім того, слід сказати, що ці бали підсумовані, і загальна сума - це специфіка селектора.
Наприклад:
body = 1 бал
body .wrapper = 11 балів
body .wrapper #container = 111 балів
Отже, використовуючи ці пункти, я очікую, що такі CSS та HTML призведуть до того, що текст стане синім:
#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>
Чому текст червоний, коли 15 класів дорівнювали б 150 балам порівняно з 1 ідентифікатором, що дорівнює 100 балам?
Мабуть, бали не просто нараховуються; вони об'єднані. Детальніше про це читайте тут - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
Чи означає це, що класи у нашому селекторі = 0,0,15,0
АБО 0,1,5,0
?
(Мої інстинкти говорять мені , що це перше, як ми знаємо специфічність виглядає селектор як це: 0,1,0,0
)