¿De qué sirve usar esta sintaxis?
div.card > div.name
¿Cuál es la diferencia entre esto?
div.card div.name
¿De qué sirve usar esta sintaxis?
div.card > div.name
¿Cuál es la diferencia entre esto?
div.card div.name
Respuestas:
A > B solo seleccionará B que son hijos directos a A (es decir, no hay otros elementos intermedios).
A B seleccionará cualquier B que esté dentro de A, incluso si hay otros elementos entre ellos.
>es el selector hijo Especifica solo elementos secundarios inmediatos y no ningún descendiente (incluidos nietos, bisnietos, etc.) como en el segundo ejemplo sin >.
El selector secundario no es compatible con IE 6 y versiones inferiores. Una gran tabla de compatibilidad está aquí .
div.card > div.namecoincide <div class='card'>....<div class='name'>xxx</div>...</div>
pero no coincide<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name coincide con ambos.
Es decir, el >selector se asegura de que el elemento seleccionado en el lado derecho del elemento >sea un elemento secundario inmediato del elemento en su lado izquierdo.
La sintaxis sin las >coincidencias <div class='name'>que sea descendiente (no solo secundaria) de <div class='card'>.
A> B selecciona B si es un hijo directo de A, mientras que AB selecciona B si es un hijo directo de B o no.
<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>
Considere los dos escenarios div > span { }vs.div span { }
Aquí, el <space>selecciona todos los <span>elementos del <div>elemento, incluso si están dentro de otro elemento. El> selecciona todos los <div>elementos secundarios del elemento pero si están dentro de otro elemento.
div > span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
</body>
Este solo selecciona <span>World!</span>y no buscará la etiqueta <span>interna <p>.
div span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
<body>
Éste selecciona todas las etiquetas span, incluso si están anidadas dentro de otra etiqueta.