DAY 8
CSS三大特性
css有三大特性:层叠性、继承性、优先级。
层叠性
相同选择器给设置相同的样式,此时一个样式就会覆盖到另一个样式。层叠性是浏览器处理样式冲突的体现。
原则:
- 样式冲突,遵循就近原则。哪个样式离结构近,就执行哪个样式 -不产生冲突的样式就不会发生层叠。
继承性
CSS中的继承,指子标签继承父标签的某些样式,如文本颜色和字号。
特点:
- 恰当使用继承可以简化代码,降低CSS样式的复杂性。比如为多个子元素设置文本颜色,只需要设置父元素的样式即可。
- 子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性)。
优先级(特殊性)
当同一个元素指定多个选择器,就会有选择器的优先级。
- 选择器相同,执行层叠性。
- 选择器不同,根据选择器权重来执行。
选择器权重如下表所示:
怎么看?
- 等级从左到右递减,比如类选择器(0,0,1,0)权重大于元素选择器(0,0,0,1),id选择器(0,1,0,0)权重大于类选择器(0,0,1,0),以此类推。
- 权重由四位数字组成,但不会有进位。
- 可以简单记忆法:通配符和继承权重为0,元素选择器为1,类选择器为10,id选择器为100,行内样式为1000,!important为无穷大(一般情况最好不要用!importat)。
- 继承的权重为0。如果该元素没有被选择器选择,则无论父元素权重多高,子元素得到的权重都是0。
权重叠加: 如果是复合选择器,则会有权重的叠加,需要另外计算。
- div ul li-------> 0,0,0,3 (1+1+1=3)
- .nav ul li------->0,0,1,2 (10+1+1=12)
- a:hover------->0,0,1,1 (10+1)
- .nav a------->0,0,1,1(10+1)