Qual è il punto usando questa sintassi
div.card > div.name
Qual è la differenza tra questo
div.card div.name
Qual è il punto usando questa sintassi
div.card > div.name
Qual è la differenza tra questo
div.card div.name
Risposte:
A > B
selezionerà solo B che sono figli diretti di A (ovvero, non ci sono altri elementi tra di loro).
A B
selezionerà qualsiasi B che si trova all'interno di A, anche se ci sono altri elementi tra di loro.
>
è il selettore figlio. Specifica solo elementi figlio immediati e non discendenti (inclusi nipoti, nipoti ecc.) Come nel secondo esempio senza il >
.
Il selettore figlio non è supportato da IE 6 e versioni precedenti. Una grande tabella di compatibilità è qui .
div.card > div.name
corrisponde <div class='card'>....<div class='name'>xxx</div>...</div>
ma non corrisponde<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name
corrisponde ad entrambi.
Cioè, il >
selettore si assicura che l'elemento selezionato sul lato destro di >
sia un figlio immidiato dell'elemento sul lato sinistro.
La sintassi senza le >
corrispondenze <div class='name'>
è quella che è un discendente (non solo un figlio) di <div class='card'>
.
A> B seleziona B se è figlio diretto di A, mentre AB seleziona B se figlio diretto di B o meno.
<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>
Considera i due scenari div > span { }
vs.div span { }
Qui, <space>
seleziona tutti gli <span>
elementi <div>
dell'elemento anche se si trovano all'interno di un altro elemento. Il> seleziona tutti i figli di<div>
dell'elemento ma se si trovano all'interno di un altro elemento.
div > span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
</body>
Questo seleziona solo <span>World!</span>
e non cercherà l' <span>
interno<p>
tag .
div span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
<body>
Questo seleziona tutti i tag span, anche se sono nidificati all'interno di un altro tag.