属性值的计算过程
一个元素一个元素依次渲染,顺序按照页面文档的属性目录结构进行。
渲染每个元素的前提条件:该元素的所有CSS属性必须有值。
一个元素,从所有属性都没有值,到所有属性都有值。这个计算过程,叫做属性值计算过程。
计算过程
- 确定声明值
确定声明值:参考样式表中没有冲突的声明,作为CSS属性值。 - 层叠冲突
层叠冲突:对样式表有冲突的声明使用层叠规则,确定CSS属性值。
- 比较重要性
- 比较特殊性
- 比较源次序
- 使用继承
使用继承:对仍然没有值的属性,若可以继承,则继承父元素的值。 - 使用默认值(initail value)
使用默认值:对仍然没有值的属性,使用默认值。
transparent:透明色
a元素在浏览器中有默认样式,已经确认颜色了,无法继承。
特殊的CSS取值:
- inherit:强制继承,将父元素的值取出应用到该元素。在前面两步提前进行继承。
- initial:初始值,将该属性设置为默认值。
a{
/*没有下划线,颜色继承父元素*/
text-decoration:none;
color:inherit;
}
color:inherit;
}