herit">Inherit the <a href="#">link</a> color</li>
<li class="initial">Reset the <a href="#">link</a> color</li>
<li class="unset">Unset the <a href="#">link</a> color</li>
</ul>
现在用CSS给它添加样式:
body {
color: green;
}
.inherit a {
color: inherit;
}
.initial a {
color: initial
}
.unset a {
color: unset;
}
Result:
让我们解释这里发生了什么:
- 我们首先设置
<body>
的color
为绿色。
- 由于
color
属性是自然继承的,所有的body子元素都会有相同的绿色。需要注意的是默认情况下浏览器设置链接的颜色为蓝色,而不是自然继承color属性,因此在我们列表中的第一个链接是蓝色的。
- 第二个规则设置一个类
inherit
的元素内的链接,并从父类继承它的颜色。在这种情况下, 意思是说链接继承了父元素<li>
的颜色,默认情况下<li>
的颜色来自于它的父元素 <ul>
, 最后<ul>
继承自 <body>
元素,而<body>
的color
根据第一条规则设置成了绿色。
- 第三个规则选择了在元素上使用类
initial
的任意链接然后设置他们的颜色为 initial
。通常, initial
的值被浏览器设置成了黑色,因此该链接被设置成了黑色。
- 最后一个规则选择了在元素上使用类
unset
的所有链接然后设置它们的颜色为 unset
——即我们不设置值。因为color属性是一个自然继承的属性,它实际上就像把值设置成 inherit
一样。结果是,该链接被设置成了与body一样的颜色——绿色。
重新设置所有的属性值
CSS速写属性 all
能够被应用到每一个继承属性,一次性应用所有的继承属性。这里的值可以是继承属性里的任何一个 (inherit
, initial
, unset
, or revert
)。对于撤销对样式的修改,这是非常方便的一种方式。然后你就可以在开始新的修改之前,返回到一个已知的开始点。
全文摘要自MDN网络开发者网站
end
2018-5-31 周四