层叠
声明冲突:同一个样式多次应用到一个元素。
层叠:解决声明冲突的过程,叫做层叠(权重计算)。层叠由浏览器自动处理。
1.比较重要性
重要性从高到低:
作者样式表:开发者书写的样式
1) 作者样式表中的!important样式(尽量不要在开发中添加,不便今后更改);
2) 作者样式表中的普通样式;
3) 浏览器默认样式表。
2.比较特殊性
若比较重要性后仍存在冲突,则比较特殊性。
看选择器
总体规则:选择器选中的范围越窄,越特殊。
具体规则:通过选择器,计算出一个4个数(x x x x),四位数越大越特殊。
- 千位:如果是内联样式,记作1,否则记为0;
- 百位:等于选择器中所有ID选择器的数量;
- 十位:等于选择器中所有类选择器,属性选择器,伪类选择器的数量;
- 个位:等于选择器中所有元素选择器,伪元素选择器的数量。
逢256进一
3.比较源次序
代码书写靠后的胜出。
应用
- 重置样式表
书写一些作者样式,覆盖浏览器的默认样式。
重置样式表 -> 浏览器默认样式表
常见的重置样式表:normalize.css、reset.css、meyer.css
- 爱恨法则
link > visited > hover > active