Skip to main content

Descubre lo que es un selector de descendientes CSS

#AskGaryVee Episode 34: How to Build a Personal Brand from Nothing (Abril 2025)

#AskGaryVee Episode 34: How to Build a Personal Brand from Nothing (Abril 2025)

Tabla de contenido:

Anonim

La estructura de un documento HTML es similar a un árbol genealógico. En tu familia, tienes a tus padres y otras personas que vinieron antes que tú. Estos son tus ancestros. Los niños y los que te persiguen en ese árbol son tus descendientes. HTML funciona de manera similar. Los elementos que están dentro de otros elementos son sus descendientes. Por ejemplo, ya que casi todos los elementos HTML están dentro de etiquetas, serían un descendiente de ese elementos. Es importante comprender esta relación cuando comienza a trabajar con CSS y necesita orientar elementos específicos para aplicar estilos visuales.

CSS selectores descendientes

Un selector de descendientes de CSS se aplica a los elementos que están dentro de otro elemento (o dicho de manera más precisa, un elemento que es descendiente de otro elemento). Por ejemplo, una lista desordenada tiene una etiqueta con etiquetas como descendientes. Usemos el siguiente HTML como ejemplo:

  • este es un enlace

los Yo las etiquetas son descendientes de la UL etiqueta. los UNA la etiqueta es un descendiente de ambos la Yo (descendiente del niño) y UL Etiquetas (nieto descendiente). Si piensas en pensar en esto usando el ejemplo del árbol genealógico, el

    sería el padre, el
  • sería el hijo de ese elemento, y sería el hijo de la
  • y el nieto de la
      .

      Entonces, ¿cómo enfocaría elementos específicos en una página web utilizando estos selectores descendientes? Primero, debe definir los selectores descendientes utilizando dos (o más) selectores de tipo separados por espacios.

      li a {text-decoration: none; }

      En ese ejemplo, los estilos solo se aplicarían a un elemento de enlace () que sea descendiente de un elemento de elemento de lista (

    • ). Todos los demás enlaces de la página que no sean descendientes de un elemento de la lista no obtendrían este estilo.

      Una cosa importante a recordar es que no importa cuántas etiquetas estén entre las etiquetas que puede usar en su selector descendiente. Si el segundo elemento está encerrado en cualquier lugar dentro del primer elemento, se seleccionará como descendiente.

      Si desea seleccionar todos los anclajes que descienden de los elementos ul, escribiría:

      ul a {text-decoration: none; }

      Ahora, estos estilos se aplicarán a cualquier enlace que sea descendiente de un elemento de la lista. También podrías escribir este selector.

      ul li a {text-decoration: none; }

      Este es un selector descendiente que usa más de dos selectores de tipo. En este caso, esto se aplicaría a los enlaces que están dentro de una lista de elementos y también dentro de una lista desordenada.

      Usando selectores de clase y selectores de identificación

      Los selectores de los que desciendes no tienen que ser siempre descendientes de tipo. Por ejemplo, imagine que tiene un área del sitio (como una división) con un atributo de ID de "cartelera". Puede configurar un selector de descendientes fuera de ese ID:

      #billboard ul {background-color: #ccc; }

      Esto daría un estilo a la lista desordenada que es descendiente de un elemento con un ID de "cartelera". Puedes hacer lo mismo para los valores de clase.

      div.billboard ul {background-color: #ccc; }

      Esto supone que la división tiene un valor de clase de "cartelera". El CSS de arriba le daría estilo al

        Elemento dentro de cualquier división que tenga este valor de clase.

        Usted puede obtener muy pesado y detallado con selectores descendientes. Por ejemplo, si usa Dreamweaver para escribir su código HTML, hay una configuración cuando agrega nuevas reglas CSS que crearán automáticamente el selector en función de la ubicación del cursor en esa página. Lo que Dreamweaver hace en estos casos es crear un selector de descendientes extensamente detallado y extensamente detallado. Esa especificidad no es necesaria para que tu CSS funcione. Lo que quiere hacer es encontrar un equilibrio entre un selector de descendientes que sea lo suficientemente específico como para que pueda profundizar en los elementos exactos que necesita (sin estilismos que no desea afectar) sin tener reglas de CSS que tengan selectores que sean excesivamente grande.