CSS中属性的计算过程
属性值的计算过程
一个元素一个元素依次渲染,顺序按照页面文档的树形目录结构进行
渲染每个元素的前提条件:该元素的所有css属性必须由值
一个元素,从所有属性都没有值,到所有属性都有值,这个计算过程,叫做属性值计算过程
1.确定声明值
参考样式表(作者样式表和浏览器默认样式表)里没有冲突的声明,作为css属性值
2.层叠冲突
比较重要性
作者样式表:开发者书写的样式
- 作者样式表中的!important样式
- 作者样式表中的普通样式
- 浏览器的默认样式表中的样式
比较特殊性
总体规则:选择器选中的范围越小,越特殊
具体规则:通过选择器计算出一个4位数,256进位,8位
- 千位:内联样式记1,否则记0
- 百位:等于选择器中id选择器的数量
- 十位:等于选择器中所有类选择器、属性选择器、伪类选择器的数量
- 个位:等于选择器中所有元素选择器、伪元素选择器的数量
比较源次序
代码书写靠后的胜出
3.使用继承
对仍然没有值的属性,若可以继承,则继承父元素的值。比如字体,颜色。
4.使用默认值
对仍然没有值的属性,使用默认值
特殊的css取值
- inherit: 手动继承(强制继承),将父元素的值取出应用到该元素
- initial:初始值,将该属性设置位默认值