1、什么是 css 权重?css6 大基础选择器
css 权重指的是 css6 大基础选择符的优先级,优先级高的 css 样式会覆盖优先级底的 css 样式,优先级越高说明权重越高,反之亦然。
css6 大基础选择器:
a)、id 选择器(#box{})
b)、类选择器(.box{})
c)、属性选择器(a[href=”http://www.xxx.com”])
d)、伪类和伪对象选择器 (:hoevr{} 和::after{})
e)、标签类型选择器(div{})
f)、通配符选择器(*{})
2、css 权重计算规则
计算 css 权重是有一定规则的,根据 w3c 制定的 css 规范,css 权重计算规则如下:
a)、计算选择符中的 id 选择器的数量
一个 id 选择器为一个 a,一个 a 为 100
b)、计算选择符中的类选择器、属性选择器以及伪类选择器的数量
一个类选择器、属性选择器以及伪类选择器为一个 b,一个 b 为 10
c)、计算标签类型选择器和伪对象选择器的数量
一个标签类型选择器、伪对象选择器为一个 c,一个 c 为 1
d)、忽略通配符选择器
通配符选择器忽略不计
如下面这张图就是一个 css 选择器权重的例子:
如果两个选择符的权重相同,则可依照”就进原则”来判断,最后定义的选择符会被采用。但尽量避免出现这种依靠定义的顺序决定选择符优先级的情况,因为在后续的维护中很难保证定义的顺序不会被打乱。