疑惑:为什么有时候给父级元素设置了样式(经常遇到的比如color、font-size等),子级样式没有跟着改变?
下面讲解一下css属性值计算过程,即 每个css样式是怎么生成的
1.确定声明值:参考样式表中没有冲突的声明,作为css属性值。
说明:比如只有一个color属性,说明color属性没有冲突,直接使用。
2.层叠冲突: 对样式表有冲突的声明使用层叠规则,确定css属性值。
1)比较重要性,即 作者样式表(我们写的代码)比 浏览器默认样式表 重要。
2)比较特殊性,即 比较权重。
3)比较源次序,即 代码靠后的覆盖代码靠前的。
3.使用继承: 对仍然没有值的属性,若可以继承,则继承父元素的值。
说明:若可以继承:比如text-align属性是可以被继承的,dispaly属性是不可以被继承的。
4.使用默认值:对仍然没有值的属性,使用默认值。
说明:比如background-color属性的默认值为transparent(透明)。