一、层叠性
我理解中的层叠式覆盖的意思。如果有相同的两个样式,只能选择一个,则遵循就近原则。
① 样式冲突: 遵循就近原则。
实例:
<div>路飞</div>
div {
color: red;
}
div {
color: pink;
}
效果:
② 样式不冲突: 不会发生层叠。
实例:
div {
color: red;
font-weight: 700;
}
div {
color: pink;
}
效果(加粗了):
二、继承性
子标签继承父标签的某些样式(可以理解子承父业)。
实例:
<div>
路飞
<p>海贼王</p>
</div>
div {
color: red;
font-weight: 700;
}
效果:
在样式中,并没有设定p的样式,而结果中p的样式继承他的父亲div的样式。小苗的利用继承可以简化代码,降低CSS样式的复杂性。子元素可以继承父元素的样式:text-,font-,line-,以这些开头的可以继承,以及color属性。
三、优先级(△)
!important > 行内样式 > id > class > 标签 > 继承者或*
对于比较方法有这样的特点:
对于 div ul li {}的权重值是0 , 0 , 0 , 3;.class{} 的 权重是0 , 0 , 1 , 0。则仍是.class{} 的权重大于div ul li {}。遵循对应比较,不能进位,像刚刚第二个的1的位置上第一个在此位置是0,此时就不需要再比较第四个位置了,无论第一个的第四个位置的值有多大都没有用了。再例如对于.nav ul li{}的权重是 0 , 0 , 1 , 2。