Transparencia a un color declarado como variable en CSS

Una tarea común en el diseño es aplicar transparencia a un color, y con técnicas más actuales, colores definidos como variable. Esto puede lograrse con pre-procesadores CSS y nativamente utilizando combinaciones de sintaxis modernas como rgba(), hsla() y otros ya soportados ampliamente. Este artículo explica cómo manejar esta necesidad técnica con ejemplos prácticos.
Definir Variables de Color en CSS⌗
Las variables CSS se declaran dentro de un selector, generalmente :root
para que estén disponibles globalmente:
Esta declaración permite reutilizar --color-principal
en cualquier lugar del código.
La transparencia en CSS⌗
Para agregar transparencia a un color, CSS ofrece funciones como:
- rgba(): Permite especificar colores en el formato RGB con un canal alfa para controlar la opacidad:
- hsla(): Similar a
rgba()
, pero usa el modelo de color HSL (Hue, Saturation, Lightness):
Como notarás, para definir colores utilizando rgba() y hsla() necesitas convertir la variable en hexacromía, lo que implica un nuevo impedimento. Pero encontré una propiedad que soluciona mi problema a la perfección:
La función color-mix()⌗
A partir de CSS Color Module Level 5, color-mix()
permite mezclar colores en hexacromía declarados como variables directamente con transparencia:
Links:⌗
- Soporte de navegadores de CSS color-mix en Can I Use