css的权重(二)

特殊的!import:

除了上面的四个等级的比较之外,在定义样式的时候,还可以对某一个属性应用!important. 对于一直从事编程而没做过重构的人,需要特别注意的是这里的 "!" 与其在编程语言中的意义刚好相反,不是代表“不重要”而是代表“很重要”。

CSS2 规范中规定:!important用于单独指定某条样式中的单个属性。对于被指定的属性,有!important指定的权重值大于所有未用!important指定的规则。,

!important的作用只有在具有唯一性时才能提现。如果多条规则中都对同一个属性指定了!important呢?这时候!important的作用相互抵销,依然按照四个等级来计算比较

不过要切记,!important不能任意使用。

Inherit(继承)

除了直接指定到元素上的样式规则以外,每个属性值还有一个可能为inherit(继承) 的值。表示元素的该样式属性继承自父级元素,与父级元素的定义一致。比如:

css的权重(二)_第1张图片

运行结果:

css的权重(二)_第2张图片

从代码中可以看出,我们并没有对span标签的字体颜色进行设置,但运行之后,继承的字体颜色为红色,这就是因为span的color属性默认值为inherit.

继续以这个例子为例,我们再来看一另外一种现象

css的权重(二)_第3张图片

运行之后,继承的字体颜色为绿色。这是因为我们队span标签单独设置了字体颜色。

对于inherit的属性,只要记住一点: 继承而来的属性值,权重永远低于明确指定到元素的定义。只有当一个元素的某个属性没有被直接指定时,才会继承父级元素的值。

你可能感兴趣的:(css的权重(二))