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