CSS三个非常重要的特性:层叠性、继承性、优先级
1、层叠性
相同的选择器如果对相同的样式进行了设置,那么就会产生冲突,层叠性主要就是解决冲突的问题。
遵循的原则:
- 就近原则:哪个样式离结构近,就执行哪个样式。
- 样式如果不冲突,就不会重叠
div {
color: red;
font-size: 16px; /*由于字体样式没有冲突,所以会正常显示*/
}
div {
color: blue; /*根据就近原则,颜色会是蓝色*/
}
</style>
<body>
<div>
我到底是红色还是蓝色呢?
没错,我会是蓝色的!
</div>
</body>
2、继承性
CSS中的继承
子标签会继承父标签的某些样式,如:文本颜色,字号等
div {
color: red;
font-size: 16px;
}
</style>
<body>
<div>
<p>
我会继承div爸爸的属性,所以我是红色的。
</p>
</div>
</body>
注意:
- 恰当地使用继承可以简短代码量
- 子元素可以继承父元素的某些样式(
text-font-line-这些元素开头的可以继承,一级color属性)
3、优先级
如果一个元素指定了多个选择器,那么就会存在优先级的问题
若选择器相同,则根据层叠性
若选择器不同,则根据选择器权重执行
如表: 选择器 选择器权重 继承或* 0,0,0,0 元素选择器 0,0,0,1 类选择器、伪类选择器 0,0,1,0 ID选择器 0,1,0,0 行内样式 style = “” 1,0,0,0 !important 无穷大
权重从上至下依次变大
优先级注意点:
- 权重有四组数字组成,但不会有进位,可以理解为:类选择器永远大于元素选择器,以此类推
- 等级判断从左至右,如果某一位数值相同,则判断下一位
- 继承的权重是0
- 注意链接标签
<a>的特殊情况 - 权重的叠加