私は 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 について何か特別なことはありますか? ここで何が欠けていますか?継承の非常に完全な説明へのオンライン参照はありますか? 私が見た (そして長い間探してきた) ものはすべて、「1 つ」のような例を説明しているだけで、「2 つ」のような問題には対処していません。
ここで求めているのと同じ視覚効果を得るには、多くの (より良い) 方法があることを知っています。しかし、この例は、継承を一般的に理解しようとしている私に関するものであり、この HTML コードに特定の影響を与えようとしているわけではありません。
手伝ってくれてどうもありがとう!