我的问题是直截了当的:为什么(几乎)HTML-CSS中的所有属性都有“继承”值...即使所有浏览器都支持所有属性的继承(根据我的观察,是的,所有)属性。 。
当我向谷歌询问它时......我可以提出一个声明
“即使某些特征 在CSS中自动继承 可能存在你的情况 希望 增加重量 继承财产 。指定一个值 对于任何CSS属性的继承 应用于元素将导致 获得父母计算的元素 有关财产的价值。通过 在作者样式表中指定 一个属性应该继承它 值,你可以增加它的重量。“
现在这更令人困惑了......这是什么“增加了重量”?
就像是......试图保持安全......(以便 不信任浏览器内置的继承功能 )或者拥有更易理解的代码?我没有澄清..
也有人提到
“Internet Explorer 7及更早版本 版本不支持该值 继承除了以外的任何属性 方向和能见度。“
如果它是真的..那么它驱动使用“继承”值但更弱的原因(??)..
答案 0 :(得分:3)
请参阅W3C's specification了解“继承”值。
摘录:
'inherit'值可用于 加强遗传价值,以及它 也可用于那些属性 通常不会继承。
对我来说,这是一个更好的措辞,而不是“增加继承财产的重量”。
至于IE7继承问题,请在IE7 CSS inherit problem
上查看此SO帖子 <强>更新强>
使用K Prime的示例代码,这是我在IE7和IE8 / FF3.5上做的测试
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
p { color: #666; }
p a { color: blue; text-decoration: underline; }
p a.inactive { color: inherit; text-decoration: none; }
</style>
</head>
<body>
<a href="#">should be default</a>
<p>
<a href="#" class="inactive">should be grey</a>
<a href="#">should be blue</a>
</p>
</body>
</html>
很好,IE7未能通过'继承'测试。
答案 1 :(得分:2)
这用于覆盖以前设置的自定义样式,或撤消自定义。澄清:
p { color: #666; }
p a { color: blue; text-decoration: underline; }
p a.inactive { color: inherit; text-decoration: none; }
段落中的所有链接(a
)都是蓝色的,但这会将inactive
的链接设置为从父级(p
)继承,这会使它们变为灰色情况下。