Pseudo-clases y Elementos

Clase 4 de 32Curso de CSS

Resumen

Aprende a aplicar pseudoclases y pseudoelementos en CSS con ejemplos directos. Verás cómo estilizar estados con :focus, seleccionar elementos específicos con :first-child, :last-child y :nth-child(even), y cómo generar comillas con ::before y ::after sin tocar el HTML.

¿Cómo estilizar estados con pseudoclases de CSS?

Las pseudoclases permiten apuntar a estados específicos del DOM. Un caso típico es el estado :focus en un input: cuando recibe clic o foco del teclado, puedes cambiar su estilo sin crear clases adicionales.

¿Qué hace :focus y cómo aplicarlo?

  • :focus estiliza el elemento enfocado.
  • Útil para alinear el diseño con la guía visual del producto.
  • Combina outline y background-color para dar feedback inmediato.
input:focus {
  outline: 2px solid #3498DB;
  background-color: #E8F4F8;
}
  • Se aplica a todos los input cuando están en focus.
  • outline no altera el layout y destaca el elemento activo.

¿Cómo seleccionar elementos específicos en listas y tablas?

Cuando necesitas estilos solo en el primer o último elemento de una lista, o alternar filas en una tabla, las pseudoclases evitan crear clases manuales. Esto hace los selectores más específicos y mantenibles.

¿Cómo aplicar :first-child y :last-child en listas?

  • Apunta al primer y último hijo de una lista.
  • Evita clases extra por elemento.
li:first-child {
  color: green;
  font-weight: bold;
}

li:last-child {
  color: red;
  font-weight: bold;
}

¿Para qué sirve :nth-child(even) en tablas?

  • Alterna estilos por posición en filas de tabla.
  • Escala a muchas filas sin añadir clases.
tr:nth-child(even) {
  background-color: gray;
}
  • Puedes ajustar la regla a pares o a otras expresiones según necesidad.
  • Útil cuando hay 4, 10 o 100 filas: la selección sigue siendo declarativa.

¿Cómo crear contenido con pseudoelementos sin tocar el HTML?

Los pseudoelementos generan contenido que no existe en el HTML. Con ::before y ::after puedes añadir comillas u otros detalles visuales directamente desde CSS usando la propiedad content.

¿Cómo usar ::before y ::after con content?

  • ::before y ::after se escriben con doble dos puntos.
  • content inserta el texto (por ejemplo, comillas) al inicio o al final.
  • El estilo del contenido se controla como cualquier nodo: color, tamaño, etc.
.quotes::before {
  content: '"';
  color: blue;
  font-size: 24px;
}

.quotes::after {
  content: '"';
  color: blue;
  font-size: 24px;
}
  • La clase .quotes envuelve el texto citado.
  • En el inspector verás ::before y ::after como nodos generados por CSS, no como texto real en el HTML.

¿Te quedó alguna duda sobre estos selectores o quieres ver un caso real con tus propios componentes? Cuéntame en los comentarios y lo resolvemos juntos.