CSS有三大特性:层叠性 继承性 优先级
1. 层叠性
相同选择器设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题。
原则:
- 样式冲突,遵循就近原则,哪个样式离得近就执行哪个样式(后者覆盖前者)
- 样式不冲突,不会层叠
2. 继承性
简化代码,降低css样式的复杂性
子标签会继承父标签的某些 样式(text-, font-, line- 这些元素开头的可以继承以及color属性)
行高的继承
3. 优先级
当同一个元素指定了多个选择器就会有优先级产生。
- 选择器相同,则执行层叠性
- 选择器不同,则根据选择器的权重
注意点:继承的权重是0。 不管父元素权重多高,子元素继承过来永远是0
权重叠加
如果是复合选择器,就会有权重叠加,需要计算权重
权重虽然会叠加,但是永远不会有进位
div ul li —> 0,0,0,3
0,0,0,1 + 0,0,0,9 = 0,0,0,10