38. Combinadores CSS

Un combinador es algo que explica la relación entre los selectores. Un selector CSS puede contener más de un selector simple. Entre los selectores simples, podemos incluir un combinador.

Exiten 4 diferentes combinadores en CSS:

  • Selector de descendientes (espacio)
  • Selector hijo (>)
  • Selector de hermano adyacente (+)
  • Selector general de hermanos (~)

Selector de descendientes

El selector de descendientes coincide con todos los elementos que son descendientes de un elemento especificado. El siguiente ejemplo selecciona todos los elementos <p> dentro de los elementos <div>:

div p {
  background-color: yellow;
}

Selector hijo

El selector hijo selecciona todos los elementos que son los hijos de un elemento específico. El siguiente ejemplo selecciona todos los elementos <p> que son hijos de un elemento <div>.

Ejm

<!DOCTYPE html>
<html>
<head>
<style>
div > p {
background-color: yellow;
}
</style>
</head>
<body>
<h2>Child Selector</h2>

<p>
El selector hijo (>) selecciona todos los elementos que son hijos de un
elemento específico.
</p>

<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
<section>
<!-- NO HIJO PERO SÍ DESCENDIENTE -->
<p>Paragraph 3 in the div (dentro de un elemento section).</p>
</section>
<p>Paragraph 4 in the div.</p>
</div>

<p>Paragraph 5. Not in a div.</p>
<p>Paragraph 6. Not in a div.</p>
</body>
</html>

Elemento hermano (+)

El selector de hermanos adyacente se usa para seleccionar un elemento que está directamente después de otro elemento específico. Los elementos hermanos deben tener el mismo elemento principal, y «adyacente» significa «inmediatamente después». El siguiente ejemplo selecciona el primer elemento <p> que se coloca inmediatamente después de los elementos <div>.

Ejm

<!DOCTYPE html>
<html>
<head>
<style>
div + p {
background-color: yellow;
}
</style>
</head>
<body>
<h2>Adjacent Sibling Selector</h2>

<p>
El selector + se utiliza para seleccionar un elemento que está
directamente después de otro elemento específico.
</p>
<p>
El siguiente ejemplo selecciona el primer elemento p que se coloca
inmediatamente después de los elementos div:
</p>

<div>
<p>Paragraph 1 in the div.</p>
<p>Paragraph 2 in the div.</p>
</div>

<p>Paragraph 3. After a div.</p>
<p>Paragraph 4. After a div.</p>

<div>
<p>Paragraph 5 in the div.</p>
<p>Paragraph 6 in the div.</p>
</div>

<p>Paragraph 7. After a div.</p>
<p>Paragraph 8. After a div.</p>
</body>
</html>

Selector general de hermanos (~)

El selector de hermanos general selecciona todos los elementos que son hermanos siguientes de un elemento específico. El siguiente ejemplo selecciona todos los elementos <p> que son los siguientes hermanos de los elementos <div>.

Ejm

<!DOCTYPE html>
<html>
<head>
<style>
div ~ p {
background-color: yellow;
}
</style>
</head>
<body>
<h2>General Sibling Selector</h2>

<p>
El selector general de hermanos (~) selecciona todos los elementos que son
los hermanos siguientes de un elemento especificado.
</p>

<p>Paragraph 1.</p>

<div>
<p>Paragraph 2.</p>
</div>

<p>Paragraph 3.</p>
<code>Some code.</code>
<p>Paragraph 4.</p>
</body>
</html>

Resumen

SelectorEjemploDescripción del ejemplo
element elementdiv pSelecciona todos los elementos <p> dentro de los elementos <div>
element > elementdiv > pSelecciona todos los elementos <p> donde el padre es un elemento <div>
element + elementdiv + pSelecciona el primer elemento <p> que se coloca inmediatamente después de los elementos <div>
element1 ~ element2p ~ ulSelecciona todos los elementos <ul> que están precedidos por un elemento <p>
Scroll al inicio