css的继承性
子元素可以直接继承父元素中会对子元素产生影响的样式属性,所以有些元素没有设置样式,样式也发生了改变的原因
css的层叠性
不同的选择器选择了同一元素,各选择器之间不同的属性是可以叠加的,相同的属性会按照权重进行覆盖
权重的计算
权重:标签=1,类=10,id=100,行(js) = 1000
首先看元素有没有被选中,如果没有被选中,权重为0,如被选中,则计算权重,以权重大的为准,权重一样时后写的为最终样式
important
html
<style>
/*important只作用于当前的属性,强调非常重要,不会被后续的样式覆盖,但不影响当前的权重*/
div p{
color: pink;
font-size: 15px !important;
}
.header p{
color: red;
font-size: 25px;
}
</style>
</head>
<body>
<div class="header">
<p>段落</p>
</div>
</body>
上述代码中虽然.header p的权重比div p的权重大,但是div p的font-size属性使用了!important,所以权重大的那个再设置字体大小就不会生效了