Selectores CSS Hijo vs Descendiente
Estoy un poco confundido entre estos 2 selectores.
El descendiente: selector
div p
Seleccione todo p
dentro de un div
si es o no un descendiente inmediato? Así que si el p
está dentro de otro div
todavía será seleccionado?
Luego el selector hijo :
div > p
¿Cuál es la diferencia? ¿Significa un niño inmediato niño? Eg.
<div><p>
Vs
<div><div><p>
¿Se seleccionarán ambos, o no?
7 answers
Solo piensa en lo que las palabras "niño" y "descendiente" significan en inglés:
- Mi hija es a la vez mi hija y mi descendiente
- Mi nieta no es mi hija, pero es mi descendiente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 14:46:51
Sí, tienes razón. div p
coincidirá con el siguiente ejemplo, pero div > p
no.
<div><table><tr><td><p> <!...
El primero se llama descendiente selector y el segundo se llama selector de hijo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 14:31:27
Bascailly, "b" selecciona todos los b dentro de a, mientras que "a>b" selecciona b lo que son los niños a los un, no seleccione b ¿cuál es hijo de b ¿cuál es hijo de un.
Este ejemplo ilustra la diferencia:
div span{background:red}
div>span{background:green}
<div><span>abc</span><span>def<span>ghi</span></span></div>
Color de Fondo de abc y def será verde, pero ghi tendrá color de fondo rojo.
IMPORTANTE: Si cambia el orden de las reglas a:
div>span{background:green}
div span{background:red}
Todas las letras tendrán un fondo rojo, porque el selector descendiente también selecciona el secundario.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-24 11:36:48
Tenga en cuenta que el selector hijo no es compatible con Internet Explorer 6. (Si usa el selector en un selector jQuery/Prototype/YUI etc en lugar de en una hoja de estilo, todavía funciona)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-25 14:53:20
En teoría: Child = > un descendiente inmediato de un antepasado (por ejemplo, Joe y su padre)
Descendant = > cualquier elemento que desciende de un ancestro en particular (por ejemplo, Joe y su tatarabuelo)
En la práctica: pruebe este HTML:
<div class="one">
<span>Span 1.
<span>Span 2.</span>
</span>
</div>
<div class="two">
<span>Span 1.
<span>Span 2.</span>
</span>
</div>
Con este CSS:
span { color: red; }
div.one span { color: blue; }
div.two > span { color: green; }
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-22 22:52:06
div p
Selecciona todos los elementos ' p 'donde el padre es un elemento' div '
div > p
Significa hijos inmediatos Selecciona todos los elementos ' p 'donde el padre es un elemento' div '
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-09 05:18:27
La selección de CSS y la aplicación de estilo a un elemento en particular se pueden hacer a través del elemento dom [Ejemplo
.a .b .c .d{
background: #bdbdbd;
}
div>div>div>div:last-child{
background: red;
}
<div class='a'>The first paragraph.
<div class='b'>The second paragraph.
<div class='c'>The third paragraph.
<div class='d'>The fourth paragraph.</div>
<div class='e'>The fourth paragraph.</div>
</div>
</div>
</div>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-21 07:01:54