¿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.name
coincide <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.