层叠
声明冲突:同一个样式,多次作用到同一个元素
层叠:解决声明冲突的过程,是浏览器自动处理的
浏览器处理规则
有3个规则,若一个规则无法判定结果,那就继续看下一个规则。
1.比较重要性
重要性从高到低:
- 开发者样式表中!important样式
不建议使用,覆盖样式不方便
- 开发者样式表普通样式
- 浏览器默认样式表
2.比较特殊性
看选择器,总体规则:选择器选中的范围越窄,越特殊
具体规则:通过选择器,计算出一个4位数(x x x x)
- 千位:内联样式记为1,否则为0
- 百位:等于选择 器中所有id选择器的数量
- 十位:等于选择器中所有类选择器、属性选择器、伪类选择器的数量
- 个位:等于选择器中所有元素选择器、伪元素选择器的数量
是逢256进1的
覆盖别人的样式,增加特殊性。
3.比较代码次序
代码书写靠后的胜出
应用
- 重置样式表
覆盖浏览器的默认样式
常见的重置样式表:normalize.css、reset.css、meyer.css
爱恨法则
伪类书写顺序
link>visited>hover>active