nuevos - Selectores de CSS,> versus espacio
selector de hijos css (3)
¿De qué sirve usar esta sintaxis?
div.card > div.name
¿Cuál es la diferencia entre esto
div.card div.name
>
es el selector de niños. Especifica solo elementos secundarios inmediatos y no cualquier descendiente (incluidos nietos, bisnietos, etc.) como en el segundo ejemplo sin el >
.
El selector de elementos secundarios no es compatible con IE 6 y versiones anteriores. Una gran tabla de compatibilidad está here .
A > B
solo seleccionará B que son hijos directos a A (es decir, no hay otros elementos entremedio).
AB
seleccionará cualquier B que esté dentro de A, incluso si hay otros elementos entre ellos.
div.card > div.name
matches <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 de >
sea un elemento secundario del elemento en su lado izquierdo.
La sintaxis sin el >
coincide con cualquier <div class=''name''>
que sea un descendiente (no solo un niño) de <div class=''card''>
.