属性值计算过程:
无属性值到每个属性都有值,才能显示在页面上
1、确定声明值(浏览器默认声明,作者样式表)
2、层叠冲突(1、比较重要性;2、比较特殊性;3、比较源次序)
3、使用继承
4、使用浏览器默认值
直到每个属性都有值,例如一个属性值先看有没有浏览器声明或者作者声明,有的话直接使用这个样式比较层级冲突,没有的话看看父级元素的可不可以继承,父级也没有或者无法继承的属性,则使用浏览器默认属性(浏览器每个属性都有默认的属性值)
<style>
div {
color: red;
}
</style>
<div>
<a href="">hello world</a>
<p>你好</p>
</div>
p元素中的是红色,因为浏览器没有默认声明,p作者未声明,到第三步使用继承红色
a元素浏览器有默认声明,直接第一步就出来样式了不会继承父元素的样式
a:-webkit-any-link {
color: -webkit-link;
cursor: pointer;
text-decoration: underline;
}
css的两个特殊属性:
inherit:手动(强制)继承,将父元素的值取到应用到该元素
initial:初始值,将该属性设置为默认值