什么是CSS权重?
权重就是CSS选择器的优先级问题,在CSS中,一般都是”id选择器 > 标签选择器 >……>……”,这叫做选择器的优先级,但是在浏览器的内核当中,对于优先级的判断是与一种被称作权重的东西有关。也就是说,优先级其实就是权重的一种文字形式。
这种权重计算方法和你的加减法一样,比如甲选择器的数值是1,乙选择器也是1,丙选择器的数值是3,那么甲选择器和乙选择器共用时,丙选择器依旧是优先的,因为1+1<3
权重数值
CSS的权重是有一定数值的
选择器名称 | 权重数值 |
---|---|
! important | 正无穷 |
行间样式 | 1000 |
id | 100 |
class / 属性 / 伪类 | 10 |
标签 / 伪元素 | 1 |
通配符 | 0 |
这就是CSS中的权重概念,在这里我们要注意的一点就是,CSS中的权重是256进制的,这就意味着1和0之间相差的并非1,而是256。
#idDiv p{
background-color: red;
}
上面这行代码,存在id选择器与标签选择器,但是他们两个构成了并列选择器,这个选择器的权重计算是将构成的选择器的权重值相加。比如在这段代码里,id选择器的数值为100,而标签选择器的数 值为1,那么这个并列选择器的权重值就为”100+1”,也就是101
还有一点我们要注意的是,CSS里的! important是正无穷,在数学中,正无穷+1 = 正无穷,但在编程语言中,正无穷+1就是比正无穷大。
研究笔记版权所属:@LinkStream