El child selector o selector de hijo permite dar estilos a los hijos directos del primer selector que se defina. Es decir, que no va más profundo al selector definido.
Se coloca entre dos selectores y se define con el símbolo "mayor que" (>
).
.container > .child {
background-color: yellow;
color: black;
}
child selector vs. descendant selector
A diferencia del descendant selector (selector descendiente), el selector de hijo es más estricto respecto a los elementos que van a coincidir, puesto que este no coincide con todos los elementos que hay dentro.
El descendant selector o selector descendiente es el típico selector de CSS que se suele usar, representado por un espacio (.container .child { ... }
).
Para explicar mejor la principal diferencia, veamos el siguiente ejemplo:
<div class="container">
<span>Element 01</span>
<span>Element 02</span>
<div>
<span>Element 03</span>
<span>Element 04</span>
</div>
<span>Element 05</span>
<span>Element 06</span>
</div>
/* descendant selector */
.container span {
background-color: blue;
color: white;
}
/* child selector */
.container > span {
background-color: yellow;
color: black;
}
Nota como el descendant selector va por todos los elementos <span>
, mientras que el child selector solo va por los hijos directos y no profundiza en otros elementos.