次の簡単な例を見てください。
<style>
h1 {
color: red;
}
</style>
<h1>this is the 'h1'.<h2>this is the 'h2'</h2></h1>
「h2」内の文字列の色は赤だと思っていましたが、まだ黒です。
これはしばらく私を混乱させました。なぜそれが起こるのですか?
マークアップがどのようにレンダリングされるかを見ると、h2
タグがタグの外側にレンダリングされていることがわかりますh1
。
これらのタグを相互にネストすることは、適切な構文ではありません。
レンダリングされたマークアップ
<h1>this is the 'h1'.</h1>
<h2>this is the 'h2'</h2>
h2
必要に応じてspan
と スタイルを切り替えてみてください。
HTML
<h1>this is the 'h1'.<span>this is the 'h2'</span></h1>
CSS
h1.span{
/*desired styling*/
}
color プロパティをタグ h1 のみに設定し、h2 には設定していません。
これを克服するために、両方のタグに同じ色を設定するクラスを書くことができます
<style>
.color1 {
color: red;
}
</style>
<h1 class="color1">this is the 'h1'.<h2 class="color1">this is the 'h2'</h2></h1>