您现在的位置:首页 >> 前端 >> 内容

CSS选择器特殊性(权重)计算法则

时间:2017/8/23 9:11:00 点击:

  核心提示:特殊性计算规则为了计算规则的特殊性,给每个选择器都分配一个数字值。然后,讲规则的每个选择器的值加在一起,计算出规则的特殊性。一般情况下,如果一个特定选择器中的选择器数量少于10个,可以以10 为基数计...

特殊性计算规则

为了计算规则的特殊性,给每个选择器都分配一个数字值。然后,讲规则的每个选择器的值加在一起,计算出规则的特殊性。一般情况下,如果一个特定选择器中的选择器数量少于10个,可以以10 为基数计算特殊性。

选择器的特殊性分为4个等级:a、b、c和d,各等级特殊性逐渐降低(即a>b>c>d)。其中,

如果样式是行内样式(

 

),那么a = 1 b等于ID选择器(#tag)的总数 c等于类(.tag)、伪类(a:hover)和属性选择器(a[title])的数量 d等于类型选择器(span)和伪元素选择器(span:before)的数量

根据以上规则,可以计算下表各元素的特殊性

选择器 特殊性 以10为基数的特殊性
style = “” 1,0,0,0 1000
wrapper #content {} 0,2,0,0 200
content .dataPoseted {} 0,1,1,0 110
p#content 0,1,0,1 101
content {} 0,1,0,0 100
p.comment .dateposted {} 0,0,2,1 21
p.comment {} 0,0,1,1 11
p p {} 0,0,0,2 2
p {} 0,0,0,1 1


由此,可以简单归纳为:用style属性编写的规则总是比其他任何规则特殊;具有ID选择器的规则比没有ID选择器的规则特殊;具有类选择器的规则比只有类型选择器的规则特殊;如果两个规则的特殊性相同,那么后定义的规则优先。

Tags:CS SS S选 选择 
作者:网络 来源:Small_Wche