Colores Pastel
Mezcla con blanco para tonos suaves y delicados
color-mix(in srgb, blue 30%, white 70%)
color-mix() permite mezclar colores directamente en CSS, eliminando la necesidad de Sass o Less para generar variaciones de color. Define dos colores base y genera automáticamente hover states, backgrounds con opacidad, y sistemas de diseño completos.
Espacio de color estándar para la web
background: color-mix(in srgb, #2448A6 50%, #F5B841 50%);
Espacio estándar para web. Mezcla en espacio RGB tradicional. Mejor compatibilidad pero puede generar colores "apagados" en mezclas.
color-mix(in srgb, ...)
Perceptualmente uniforme. Los colores se mezclan de forma más natural y predecible según cómo el ojo humano percibe el color.
color-mix(in oklch, ...)
Mezcla por matiz y saturación. Útil cuando quieres transiciones suaves entre colores del mismo tono.
color-mix(in hsl, ...)
Mezcla con blanco para tonos suaves y delicados
color-mix(in srgb, blue 30%, white 70%)
Mezcla con negro para tonos intensos y dramáticos
color-mix(in srgb, blue 70%, black 30%)
Mezcla con transparent para efectos de vidrio
color-mix(in srgb, blue 40%, transparent)
Genera pasos intermedios para gradientes perfectos
Multiple color-mix() steps
Mezcla colores opuestos para armonía visual
color-mix(in oklch, blue 50%, orange 50%)
Variaciones del mismo color para coherencia
color-mix(in hsl, blue, white) at steps
// Sass
$primary: #2448A6;
$primary-light: lighten($primary, 20%);
$primary-dark: darken($primary, 20%);
$primary-hover: mix($primary, white, 80%);
$primary-active: mix($primary, black, 90%);
// ... 10+ más variables
/* CSS Nativo */
:root {
--primary: #2448A6;
}
.button {
background: var(--primary);
}
.button:hover {
background: color-mix(in srgb, var(--primary) 80%, white);
}
.button:active {
background: color-mix(in srgb, var(--primary) 90%, black);
}
/* Mezclar dos colores al 50% */
.element {
background: color-mix(in srgb, blue, yellow);
}
/* Control preciso del porcentaje */
.element {
background: color-mix(in srgb, blue 70%, yellow 30%);
}
/* Usar variables CSS */
.element {
background: color-mix(in srgb, var(--primary) 60%, var(--secondary) 40%);
}
/* Aclarar en hover mezclando con blanco */
.button {
background: var(--primary);
transition: background 0.3s;
}
.button:hover {
background: color-mix(in srgb, var(--primary) 80%, white 20%);
}
.button:active {
background: color-mix(in srgb, var(--primary) 70%, black 30%);
}
.button:disabled {
background: color-mix(in srgb, var(--primary) 50%, gray 50%);
}
:root {
/* Colores base */
--brand-primary: #2448A6;
--brand-secondary: #F5B841;
/* Variantes automáticas con color-mix */
--primary-50: color-mix(in srgb, var(--brand-primary) 10%, white 90%);
--primary-100: color-mix(in srgb, var(--brand-primary) 20%, white 80%);
--primary-200: color-mix(in srgb, var(--brand-primary) 40%, white 60%);
--primary-300: color-mix(in srgb, var(--brand-primary) 60%, white 40%);
--primary-400: color-mix(in srgb, var(--brand-primary) 80%, white 20%);
--primary-500: var(--brand-primary);
--primary-600: color-mix(in srgb, var(--brand-primary) 90%, black 10%);
--primary-700: color-mix(in srgb, var(--brand-primary) 75%, black 25%);
--primary-800: color-mix(in srgb, var(--brand-primary) 60%, black 40%);
--primary-900: color-mix(in srgb, var(--brand-primary) 40%, black 60%);
}
/* Backgrounds semitransparentes */
.overlay {
background: color-mix(in srgb, var(--primary) 50%, transparent);
}
/* Gradientes de opacidad */
.gradient {
background: linear-gradient(
to right,
color-mix(in srgb, blue 100%, transparent 0%),
color-mix(in srgb, blue 0%, transparent 100%)
);
}
/* Glassmorphism */
.glass {
background: color-mix(in srgb, white 20%, transparent);
backdrop-filter: blur(10px);
}
:root {
--primary: #2448A6;
--background: white;
--text: black;
}
/* Dark mode usando color-mix */
[data-theme="dark"] {
--background: color-mix(in srgb, var(--primary) 5%, black);
--text: color-mix(in srgb, white 90%, var(--primary) 10%);
/* Ajustar primary para mejor contraste */
--primary: color-mix(in srgb, #2448A6 70%, white 30%);
}
Genera paletas completas desde 2 colores base. Escalas de grises, variantes de intensidad, todo automático.
Hover, active, focus, disabled. Todos generados dinámicamente sin necesidad de definir cada variante manualmente.
Ajusta colores automáticamente para dark mode. Mezcla con negro o blanco según el tema activo.
Crea efectos de vidrio mezclando colores con transparent. Sin necesidad de rgba() o hsla().
/* Definir color estático primero (fallback) */
.button {
background: #6B7FC9; /* Fallback */
background: color-mix(in srgb, var(--primary) 70%, var(--secondary) 30%);
}
/* O usar @supports */
@supports (background: color-mix(in srgb, red, blue)) {
.button {
background: color-mix(in srgb, var(--primary) 70%, var(--secondary) 30%);
}
}