研究特异性我偶然发现了这个博客 - http://www.htmldog.com/guides/cssadvanced/specificity/
它指出特异性是 CSS 的评分系统。它告诉我们元素值 1 分,类值 10 分,ID 值 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 个 ID 等于 100 分时,文本是红色的?
显然,这些点不只是总计。它们是串联的。在此处阅读更多相关信息 - http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
这是否意味着我们的选择器中的类 = 0,0,15,0
OR 0,1,5,0
?
(我的直觉告诉我是前者,因为我们知道 ID 选择器的特殊性如下所示0,1,0,0
:)