我一直在阅读很多关于 CSS 继承的内容,但我无法找到关于这个问题的任何内容,我很困惑。请考虑以下几点:
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
.anc {
background-color: blue;
color: red;
}
.des {
background-color: inherit;
color: inherit;
}
</style>
</head>
<body>
<div class="anc">
<p class="des">
One <!-- Blue background, red text. Clearly inheritance. -->
</p>
</div>
<p class="anc">
<div class="des">
Two <!-- Why is nothing inherited here? -->
</div>
</p>
</body>
</html>
“One”文本按我的预期工作。但我不明白为什么“Two”文本没有蓝色背景和红色文本。
与内联元素相比,块元素的继承是否有一些特殊规则?还是关于 div 的特别之处?我在这里想念什么?您是否有在线参考对继承的非常透彻的解释?我所看到的一切(而且我已经看了很长时间)只是解释了像“一”这样的例子,但没有解决像“二”这样的问题。
我知道有很多(更好的)方法可以获得我在这里要求的相同视觉效果。但是这个例子是关于我试图理解一般的继承,而不是试图对这段 HTML 代码产生任何特定的影响。
非常感谢你的帮助!