第三章主要了解:CSS中的特殊性和继承, 层叠。
这一章主要内容:
- 什么是CSS的特殊性?
- 如何使用CSS的继承?
- 层叠是什么来的。
1.1
CSS的特殊性,简称CSS的优先级。类似于比身高,我比你高,那么我就赢。
(这里参考别人的总结)
特殊性规则:
内联样式的特殊性为 1.0.0.0
ID选择器的特殊性为 0.1.0.0
类或者伪类的特殊性为 0.0.1.0
元素和伪元素的特殊性为 0.0.0.1
【最初的声明块的特殊性为0.0.0.0】
例如:
这个特殊性为 0.0.0.0
h1{
}
这个特殊性就变为0.0.0.1
h2{
color:red;
}
这个特殊性就变为0.0.0.2, 好像加法那样, 根据上面的规则,选择器选择的每多一个元素,其声明块的特殊性加0.0.0.1,以此类推。
p em{
color:blue;
}
同一个元素,选择器选择的同一个元素,声明冲突了,那么特殊性高的选择器,就会被使用。
#idcolor{
color:blue;
}
p{
color:red;
}
上面的#idcolor选择器就被使用了,显示的颜色为蓝色
<p id="idcolor">今天第三天了</p>
1.2 重要性
在声明块里面加入!important即可,其作用是无视特殊性,直接变成最高优先级。
p{
color:red !important;
}
2.1继承
之前有提及到的文档树,其父元素包含子元素。
父元素声明的特性,子元素也有
例如:父元素声明是字体红色,那么子元素的字体也是红色。
但是有一些属性是不能被继承。例如边框
3.1 层叠,当特殊性相等的两个规则应用于同一个元素的时候,层叠的作用就出来了。
1)通过标明!important来决定规则
2)重新定义声明块,使一个特殊性比另一个特殊性高的
3)从上往下数,越靠下的声明块,就会被选上。
最终颜色会选择蓝色
h1{color:red;}
h2{color:blue;}