CSS的三大特性
1.层叠性
相同选择器给设置相同的样式,此时一个样式就会覆盖另一个冲突的样式,层叠性主要解决样式冲突问题。
层叠性原则:
- 样式冲突遵循就近原则,哪个样式离结构近就执行哪个样式
- 样式 不冲突不会层叠
2.继承性
css中的继承子标签会继承父标签的某些样式,如文本颜色和字号,简单理解就是子承父业
理解:
- 恰当的使用继承可以简化代码,降低css样式的层叠性
- 子元素可以继承父元素的样式(text-,font-,line-)这些元素开头的可以继承以及color属性
行高的继承:
语法格式:
body {
font:12px/1.5 MicrosoftYahei;
}
注意事项:
- 行高可以跟单位也可以不跟
- 如果子元素没有设置行高,则会继承父元素的行高是1.5
- 子元素的行高:当前子元素的文字大小乘1.5
3.优先级
1)优先级说明
当一个元素指定多个选择器,就会有优先级的产生
- 选择器相同,则执行层叠性
- 选择器不同,则根据选择器权重进行
选择器 | 选择器权重 |
---|---|
继承或者通配符 | 0,0,0,0 |
元素选择器 | 0,0,0,1 |
类选择器,伪类选择器 | 0,0,1,0 |
id选择器 | 0,1,0,0 |
行内样式style=“color”: | 1,0,0,0 |
!important | 无穷大 |
2)优先级注意点
- 权重是有4组数字组成,但不会进位 可以理解类选择器>元素选择器>,id选择器>类选择器,依次进行类推
- 等级判断从左向右,如果某一位数值相同,则进行下一位
- 我们可以理解为通配符选择器:0、标签选择器:1、类选择器:10、id选择器:100、行内1000
- 继承的权重为0(子相对于父),不管父元素权重有多高,继承过来的权重为0
- 注:a链接浏览器默认制定了一个样式,有蓝色的下划线
3)css权重
权重虽然会叠加,但不会进位。复合选择器会有权重的叠加
元素 | 权重 |
---|---|
div ul li | 0,0,0,3 |
nav ul li | 0,0,1,2 |
a:hover | 0,0,1,1 |
.nav a | 0,0,1,1 |