Html 为什么';10个封闭标签的特异性公式是否有效?

Html 为什么';10个封闭标签的特异性公式是否有效?,html,css,css-selectors,w3c,Html,Css,Css Selectors,W3c,根据这个规则,第二条规则有更多的特殊性,文本必须是蓝色的,但它是红色的 /**特异性=10*/ .我的{ 背景色:红色; } /**特异性=12*/ html正文b部分i强em span字体{ 背景颜色:蓝色; } 超级 只有当规则具有相同的层次选择器时,第二条规则才具有更高的特异性。如果你有一个类(更具体一点),它将接管 您可以使用li.my: /**特异性=10*/ .我的{ 背景色:红色; } /**特异性=12*/ html body div b i strong em span

根据这个规则,第二条规则有更多的特殊性,文本必须是蓝色的,但它是红色的

/**特异性=10*/
.我的{
背景色:红色;
}
/**特异性=12*/
html正文b部分i强em span字体{
背景颜色:蓝色;
}

  • 超级
只有当规则具有相同的层次选择器时,第二条规则才具有更高的特异性。如果你有一个类(更具体一点),它将接管

您可以使用
li.my

/**特异性=10*/
.我的{
背景色:红色;
}
/**特异性=12*/
html body div b i strong em span font strike ul li.my{
背景颜色:蓝色;
}

  • 超级
从CSS技巧中查看以下规则:

对于每个类值(或伪类或属性选择器),应用0,0,1,0点

对于每个元素引用,应用0,0,0,1点


因此,您的第一个示例有0,0,1,0分。而你的第二个得0,0,0,12分

0,0,1,0>0,0,0,12

基本上,无论您在选择器中引用了多少元素,如果您没有被引用的ID或类,那么您的类选择器将始终获胜


因为
0,0,1,0
不是10。特异性更像是一个矩阵,而不是一个可以相加的积分系统。在web开发的早期,我犯了同样的错误。选择器可分为四个类别,从右向左移动的选择器的权重更高。一的总数不超过左边的总数,除非该数字是
0
,即
0,1,0,0
0,0,150,0