Cargando...

Pseudo clases

Las pseudo clases en CSS son selectores especiales que permiten aplicar estilos a elementos según su estado o posición dentro del DOM, sin modificar la estructura HTML. Se pueden comparar con decorar una habitación: no estamos construyendo nuevas paredes, pero podemos cambiar colores, añadir muebles o detalles decorativos según la ocasión.
Su importancia radica en mejorar la interactividad y la experiencia del usuario. Por ejemplo, en un sitio de portafolio, la pseudo clase :hover puede resaltar proyectos al pasar el cursor. En un blog, :first-child permite destacar la primera publicación, captando la atención del lector. En sitios de e-commerce, :nth-child puede alternar el estilo de productos para una mejor visualización. En portales de noticias, :visited diferencia los enlaces ya consultados, mientras que en plataformas sociales, :focus resalta campos activos de formularios.
En este tutorial aprenderás a usar pseudo clases comunes como :hover, :focus, :first-child, :nth-child, :visited y :disabled. Comprenderás su sintaxis, funcionamiento y aplicaciones prácticas, permitiéndote crear interfaces limpias, mantenibles y responsivas, organizadas como una biblioteca bien ordenada donde cada libro está en su lugar.

Ejemplo Básico

css
CSS Code
/* Basic pseudo-class example for links and inputs */
a:hover {
color: #e67e22; /* Change link color on hover */
text-decoration: underline; /* Add underline on hover */
}

li:first-child {
font-weight: bold; /* Highlight the first list item */
}

input:focus {
border-color: #2980b9; /* Highlight input field on focus */
}

En este ejemplo se muestran tres pseudo clases muy utilizadas. a:hover cambia el color y subraya enlaces al pasar el cursor, mejorando la interacción en blogs y portales de noticias. La sintaxis incluye dos puntos seguidos del nombre de la pseudo clase.
li:first-child selecciona el primer hijo de su elemento padre, útil para destacar la primera publicación de un blog o el primer producto en una tienda online.
input:focus resalta el campo de entrada activo, dando retroalimentación visual al usuario. Las pseudo clases no modifican el DOM, solo aplican estilos en ciertos estados. Los principiantes pueden notar que algunas pseudo clases no funcionan, generalmente debido a conflictos de especificidad o al estado del elemento padre.

Ejemplo Práctico

css
CSS Code
/* Practical example for an e-commerce product list */
ul.products li:nth-child(odd) {
background-color: #f9f9f9; /* Style odd product items */
}

ul.products li:nth-child(even) {
background-color: #ffffff; /* Style even product items */
}

button:disabled {
opacity: 0.5; /* Dim disabled buttons */
cursor: not-allowed;
}

a:visited {
color: #7f8c8d; /* Change color of visited links */
}

En este ejemplo, :nth-child() alterna el estilo de los elementos de la lista de productos, mejorando la legibilidad y estética — como alternar libros de colores en una estantería.
button:disabled indica botones no disponibles, mostrando su estado de forma visual.
a:visited modifica el color de los enlaces visitados, ayudando al usuario a identificar qué contenido ya consultó. El uso de estas pseudo clases incrementa la interactividad del sitio sin JavaScript, creando interfaces profesionales, claras y responsivas.

Buenas prácticas incluyen: diseño mobile-first, optimización de rendimiento con selectores simples y mantener CSS limpio y mantenible. Aplica pseudo clases con propósito para evitar duplicación y conflictos.
Errores comunes: conflictos de especificidad, ignorar estados :hover y :focus en dispositivos táctiles, sobreescritura excesiva de estilos, no verificar pseudo clases en herramientas de desarrollo.
Consejos de depuración: usar dev tools para inspeccionar elementos, aplicar pseudo clases paso a paso y probar en múltiples dispositivos. Separar estilos base y pseudo clases facilita mantenimiento y escalabilidad.

📊 Referencia Rápida

Property/Method Description Example
:hover Estiliza un elemento al pasar el cursor a:hover {color:#e67e22;}
:focus Estiliza un elemento al recibir foco input:focus {border-color:#2980b9;}
:first-child Estiliza el primer hijo de un elemento li:first-child {font-weight:bold;}
:nth-child(n) Estiliza elementos según su orden li:nth-child(odd){background:#f9f9f9;}
:disabled Estiliza elementos deshabilitados button:disabled {opacity:0.5;}
:visited Estiliza enlaces visitados a:visited {color:#7f8c8d;}

Resumen: Las pseudo clases permiten aplicar estilos según estado o posición sin alterar la estructura HTML. Funcionan junto al DOM y se pueden combinar con JavaScript para interfaces dinámicas.
Próximos pasos: estudiar pseudo clases avanzadas como :not() y :has(), y combinarlas con Flexbox o Grid para control completo de diseño. Practicar en portafolios, blogs y tiendas online fortalece habilidades y permite crear CSS profesional, interactivo y responsivo.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Prueba tu Conocimiento

Pon a prueba tu comprensión de este tema con preguntas prácticas.

3
Preguntas
🎯
70%
Para Aprobar
♾️
Tiempo
🔄
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior