Selectores descendentes
Permite seleccionar elementos que se encuentran dentro de otros elementos. Por ejemplo:
p h1 {
color: red;
}
El estilo anterior se aplicará a todas las etiquetas <h1>
que estén dentro de bloques <p>
. Hay que tener en cuenta que el elemento <h1>
no tiene por qué ser descendiente directo.
El nivel de anidación puede tener varios niveles. Por ejemplo:
p a b i {
text-decoration: underline;
}
Para que se aplique el estilo anterior se deben cumplir las siguientes situaciones:
- Debe haber un elemento
<i>
dentro de un<b>
. - Además, el elemento
<b>
debe estar dentro de un<a>
. - Y, para terminar, el elemento
<a>
debe estar dentro de un<p>
.
Dicho de otro modo, el estilo se aplica a los elementos <i>
, dentro de etiquetas <b>
, anidados dentro de <a>
que se encuentren en <p>
.
Es importante tener en cuenta que, si no tenemos cuidado, podemos confundir el selector descendente con la aplicación de un mismo estilo a distintas etiquetas.
Los dos bloques de código que se muestran a continuación, no son equivalentes:
p a b i { color: blue; }
p,a,b,i { color: blue; }
El segundo bloque de código aplica el color azul a las etiquetas <p>
, <a>
, <b>
e <i>
, independientemente de su anidación.
También podemos combinar el selector universal con selectores descendentes. Por ejemplo:
p * b {
color: #0000FF;
}
Este bloque aplica a todas las etiquetas de tipo <b>
que estén anidadas en cualquier otra etiqueta que a su vez esté dentro de una etiqueta de tipo <p>
.
Sin embargo, no se aplicará a las etiquetas de tipo <b>
que estén dentro de una etiqueta de tipo <p>
directamente. Es necesario que haya otro elemento dentre <p>
y <b>
.