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