この構文を使用するポイントは何ですか
div.card > div.name
これの違いは何ですか
div.card div.name
A > B
は、Aの直接の子であるBのみを選択します(つまり、間に他の要素はありません)。
A B
は、Aの間に他の要素がある場合でも、Aの内側にあるBを選択します。
div.card > div.name
は<div class='card'>....<div class='name'>xxx</div>...</div>
と一致しますが、<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
とは一致しません
div.card div.name
は両方に一致します。
つまり、>
セレクターは、>
の右側で選択された要素が左側の要素の子孫であることを確認します。
>
のない構文は、<div class='name'>
の子孫(子だけではない)である<div class='card'>
に一致します。
A> Bは、Aの直接の子である場合はBを選択し、A BはBの直接の子であるかどうかにかかわらずBを選択します。
<p> USING SPACE </p>
<style>
.a .b {
background-color: red;
}
</style>
<span class="a">
a
<br>
<span class="b"> a b</span>
<br>
<span class="c">
<span class="b"> a b c</span>
</span>
</span>
<br><br>
<p> USING GREATER THAN SIGN</p>
<style>
.x > .y {
background-color: red;
}
</style>
<span class="x">
x
<br>
<span class="y"> x y</span>
<br>
<span class="z">
<span class="y"> x y z</span>
</span>
</span>