Color en CSS: hex, rgb, hsl y accesibilidad

Aprende a definir colores con precisión y a garantizar buen contraste.

Hex, RGB y HSL son formas equivalentes de definir color, cada una con ventajas distintas.

HSL es más intuitivo para ajustar brillo y saturación.

El canal alfa permite transparencias sin imágenes.

El contraste es clave para accesibilidad y lectura.

  • Conoce cuándo usar hex, rgb y hsl.
  • Hex es común en diseño visual, RGB es útil para manipulación y HSL para ajustes de tono y luz.
  • Si necesitas variar un color de forma controlada, HSL suele ser la mejor opción.
  • Hex: #1d4ed8
  • RGB: rgb(29, 78, 216)

Formatos de color

Conoce cuándo usar hex, rgb y hsl.

Hex es común en diseño visual, RGB es útil para manipulación y HSL para ajustes de tono y luz.

Si necesitas variar un color de forma controlada, HSL suele ser la mejor opción.

  • Hex: #1d4ed8
  • RGB: rgb(29, 78, 216)
  • HSL: hsl(221, 79%, 48%)
  • RGBA/HSLA: añade transparencia

Sistema de color con variables

Evita colores sueltos y construye consistencia.

Define colores base en :root y reutilízalos en botones, fondos y textos.

Así puedes ajustar la identidad visual desde un solo lugar.

Contraste y legibilidad

Un buen color también se lee bien.

El contraste suficiente mejora la lectura y la accesibilidad.

Evita texto gris claro sobre fondos claros: parece elegante pero se lee mal.

  • Texto principal: contraste alto.
  • Texto secundario: contraste medio.
  • Botones: texto blanco sobre color oscuro o viceversa.

Color moderno con OKLCH y degradados repetidos

CSS
14

Color en CSS: hex, rgb, hsl y accesibilidad

Aprende a definir colores con precisión y a garantizar buen contraste.

Código del tema: display: grid; gap: 1rem;

📘 Teoría

Formatos de color

Conoce cuándo usar hex, rgb y hsl.

Hex es común en diseño visual, RGB es útil para manipulación y HSL para ajustes de tono y luz.

Si necesitas variar un color de forma controlada, HSL suele ser la mejor opción.

  • Hex: #1d4ed8
  • RGB: rgb(29, 78, 216)
  • HSL: hsl(221, 79%, 48%)
  • RGBA/HSLA: añade transparencia
Mismos colores, distintos formatos
.color-hex { color: #1d4ed8; }
.color-rgb { color: rgb(29, 78, 216); }
.color-hsl { color: hsl(221, 79%, 48%); }

Sistema de color con variables

Evita colores sueltos y construye consistencia.

1

Define colores base en :root y reutilízalos en botones, fondos y textos.

2

Así puedes ajustar la identidad visual desde un solo lugar.

Tokens de color
:root {
  --brand: hsl(221, 79%, 48%);
  --brand-soft: hsl(221, 79%, 95%);
  --text: hsl(222, 22%, 20%);
}

.button {
  background: var(--brand);
  color: white;
}

Contraste y legibilidad

Un buen color también se lee bien.

El contraste suficiente mejora la lectura y la accesibilidad.

Evita texto gris claro sobre fondos claros: parece elegante pero se lee mal.

  • Texto principal: contraste alto.
  • Texto secundario: contraste medio.
  • Botones: texto blanco sobre color oscuro o viceversa.

Color moderno con OKLCH y degradados repetidos

🧭 Visuales clave

Modelo de color HSL en CSS

Visualiza cómo ajustar color de forma más intuitiva que con valores hex.

Diagrama de tono, saturación y luminosidad para entender HSL.

🧪 Aprende probando

Ejemplo Tarjeta con HSL Crea una tarjeta con fondo suave y texto legible.
Ejemplo Sistema de color básico Define variables y úsalas en un botón.

🏁 Retos

Reto Reto: contraste accesible Ajusta fondo y texto con HSL.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre CSS.

Test de CSS

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .