1. CSS 的三大特性
CSS 有三个非常重要的特性:层叠性、继承性、优先级
1.1 层叠性
相同选择器设置相同的样式,此时一个样式就会==覆盖(层叠)==另一个冲突的样式。层叠性主要解决样式冲突的问题
层叠性原则:
- 样式冲突,遵循就近原则,哪个样式离结构近,就执行哪个样式
- 样式不冲突不会重叠
<style>
div {
color: blue;
font-style: 14px;
}
div {
color: #000;
}
</style>
1.2 继承性
子标签会继承父标签的某些样式(跟文字相关的样式),如文本颜色和字号
- 恰当地使用集成可以简化代码,降低 CSS 样式的复杂性
- 子元素可以继承父元素的样式(text-,font-、line-这些元素的开头可以继承,一级 color 属性)
行高的继承
div {
font:12px/1.5 MIcrosoft YaHei;
}
p {
font: 14px;
}
-
行高可以跟单位也可以不跟
-
如果子元素没有设置行高,则会继承父元素的行高
此时子元素的行高为当前子元素的文字大小*1.5
-
父元素行高1.5倍的写法最大的优势是里面的子元素可以根据自己文字大小自动调整行高
1.3 优先级
当同一个元素指定多个选择器,就会有优先级产生
- 选择器相同,则执行层叠性
- 选择器不同,则根据选择器权重执行
选择器 | 选择器权重 |
---|---|
继承 | 0,0,0,0 |
元素选择器 | 0,0,0,1 |
类选择器 | 0,0,1,0 |
ID 选择器 | 0,1,0,0 |
行内样式 style=“” | 1,0,0,0 |
!important | +∞ 无穷大 |
优先级注意:
- 权重是由4组数据组成,但不会有进位
- 类选择器永远大于元素选择器,id 选择器永远大于类选择器
- 等级判断从左到右,如果某一为数值相同,则判断下一位数值
- 继承的权重是 0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权