css属性值的计算

了解css属性值的计算之前,我们先了解一下浏览器的HTML文档的渲染过程:

HTML文档加载时 先加载HTML代码,搭建出骨架;
然后按照HTML文档树的树形顺序依次给每个元素渲染样式属性;

1、每个元素渲染的前提条件是:该元素的所有CSS属性都必须有值(我们可能只指定部分CSS属性,
但是那些默认的CSS属性也必须有值的);
2、属性值计算过程:一个元素,从所有属性都没有值,到所有属性都有值,浏览器会自动帮我们计算,
这个计算过程叫做属性值计算过程;

css属性值的计算遵循一定的规则:

  1. 确定声明值

将样式表(作者样式表和浏览器默认样式表)中没有冲突的样式声明,作为CSS属性值;

  1. 层叠冲突

对于样式表中有冲突的声明使用层叠规则(比较重要性、比较特殊性、比较源次序)来确定CSS属性值;
比较重要性:作者样式 > 浏览器样式
比较特殊性:权重计算参考:CSS选择器及权重计算
比较源次序:权重相同的情况下,后来者居上。

  1. 继承

对于执行过前两步仍然没有值的属性,若可以继承,则继承父元素的值;
注意:只有文本相关属性才能被继承

  1. 使用默认值

经过以上计算任然没有被赋值的属性,将使用浏览器默认属性值

猜你喜欢

转载自blog.csdn.net/m0_37825174/article/details/110202604