Estoy un poco confundido entre estos 2 selectores.
¿El selector descendiente :
div p
seleccionar todo p
dentro de div
si es o no un descendiente inmediato? Entonces, si p
está dentro de otro div
, ¿todavía estará seleccionado?
Entonces el selector de niños :
div > p
¿Cual es la diferencia? ¿Un niño significa niño inmediato ? P.ej.
<div><p>
vs
<div><div><p>
serán ambos seleccionados o no?
css
css-selectors
iceangel89
fuente
fuente
Respuestas:
Solo piense en lo que significan las palabras "niño" y "descendiente" en inglés:
fuente
Sí, estás en lo correcto.
div p
coincidirá con el siguiente ejemplo, perodiv > p
no lo hará.El primero se llama selector descendente y el segundo se llama selector hijo .
fuente
Bascailly, " ab selecciona" Todos los B del interior de una, mientras que " a> b " selecciona b de lo que son solamente los niños a la una , que no seleccionará b lo que es hijo de B lo que es hijo de una .
Este ejemplo ilustra la diferencia:
El color de fondo de abc y def será verde, pero ghi tendrá un color de fondo rojo.
IMPORTANTE: si cambia el orden de las reglas a:
Todas las letras tendrán fondo rojo, porque el selector descendente selecciona también el del niño.
fuente
En teoría: Niño => un descendiente inmediato de un antepasado (por ejemplo, Joe y su padre)
Descendiente => cualquier elemento que descienda de un antepasado particular (por ejemplo, Joe y su tatarabuelo)
En la práctica: prueba este HTML:
con este CSS:
http://jsfiddle.net/X343c/1/
fuente
red
eblue
intercambiado).Tenga en cuenta que el selector secundario no es compatible con Internet Explorer 6. (Si utiliza el selector en un selector jQuery / Prototype / YUI, etc. en lugar de en una hoja de estilo, todavía funciona)
fuente
Selecciona todos los elementos 'p' donde el padre es un elemento 'div'
Significa hijos inmediatos Selecciona todos los elementos 'p' donde el padre es un elemento 'div'
fuente
La selección de CSS y la aplicación de estilo a un elemento particular se pueden hacer atravesando el elemento dom [Ejemplo
Ejemplo
fuente