可能有多个选择器应用了相同的样式,这时候有优先级来决定最终应用哪个样式
权重
选择器的优先级可以说是由三个不同的值(或分量)相加:
选择器 | 权重 |
---|---|
ID | 1-0-0 |
类、属性、伪类 | 0-1-0 |
元素、伪元素 | 0-0-1 |
每个权重之间不会有进位,如权重为一百万的类选择器不会覆盖权重为一的 ID 选择器
通用选择器(*
)、组合符(+
、>
、~
、' '
)和调整优先级的选择器(:where()
)不会影响优先级
否定(:not()
)和任意匹配(:is()
)伪类本身对优先级没有影响,但它们的参数则会带来影响
内联样式相当于:1-0-0-0
如果权重相同,则加载顺序靠后的优先级高
总结
!important
> 内联 > ID > 类/属性/伪类 > 元素/伪元素