CSS关键字 unset 可以分为两种情况:
- 如果这个属性本来有从父级继承的值(这个属性默认可以继承,且父级有定义),则将该属性重新设置为继承的值,换句话说,这种情况下(继承属性)它的行为类似于inherit ;
- 如果没有继承父级样式,则将该属性重新设置为初始值,这种情况下(非继承属性)类似于initial。
<p>This text is red.</p>
<div class="foo">
<p>This text is also red.</p>
</div>
<div class="bar">
<p>This text is green (default inherited value).</p>
</div>
.foo {
color: blue;
}
.bar {
color: green;
}
p {
color: red;
}
.bar p {
color: unset;
}
说明如下:
1.第一个,p有声明属性,是红色;
2.第二个,p元素color本身是红色,则不用继承,是红色。
3.第三个,p声明属性有两个,根据选择器权重,color是unset,(color属性可以被继承),且父元素的color有值,则使用父元素的,则为绿色。
关于属性值的计算过程可以参照我的另一篇专门写css属性值计算过程的文章。