CSS三大特性
1. 层叠性
选择不同的样式,主要解决样式冲突的情况
- 样式冲突,就近原则
- 样式不冲突,不会层叠
2. 继承性
子标签继承父标签的某些样式。如文本色号或者字体样式。
简单理解:子承父业
-
子元素可以继承的样式,例如文字相关的样式。
例如:
- text- 、font- 、 line- 这些元素开头可以被继承以及 color属性
- visibility 可见性
- 行高(line-height):
font: 12px/1.5 "Microsoft yahei"
*****行高可以不跟单位:1.5代表当前元素字体大小的1.5倍。
*****建议在需要行高的时候再设置,这样更好地控制布局。
<a>
链接不会继承,因为它自身带有文字样式。要想改,则直接在<a>
标签上面改文字样式。
3. 优先级
当同一个元素指定多个选择器,就会有优先级的产生
- 选择器相同,执行层叠性
- 选择器不同,根据选择器权重执行
注:
-
权重有四组数字组成,但不会有进位。
-
类选择器永远大于元素选择器的权重,以此类推。
-
简单记忆:继承和*为0,元素选择器为1,类选择器和伪类选择器为10,ID选择器为100,!important为1000。
-
继承的权重为0。如果该元素没有直接选中,不管父级元素的权重有多高,子元素得到的权重永远是0。
权重叠加:div ul li => 0,0,0,1+0,0,0,1+0,0,0,1 = 0,0,0,3
div .box => 0,0,0,1 + 0,0,1,0 = 0,0,1,1