Modos de fusión

El podcast de CSS 024: Blend Modes

Duotone es un tratamiento de color popular para fotografía que hace que una imagen parezca que solo está formada por dos colores contrastantes: uno para zonas brillantes y otro para las zonas con poca luz. ¿Cómo lo hacemos con CSS?

Con los modos de combinación y otras técnicas que aprendiste, como los filtros y los pseudoelementos, puedes aplicar este efecto a cualquier imagen.

¿Qué es un modo de fusión?

Los modos de fusión se usan comúnmente en herramientas de diseño, como Photoshop, para crear un efecto de composición combinando colores de dos o más capas. Cambiar la mezcla de colores te permite lograr efectos visuales muy interesantes. También puedes usar modos de combinación como utilidad, como aislar una imagen que tiene un fondo blanco, para que parezca que tiene un fondo transparente.

Puedes usar la mayoría de los modos de combinación disponibles en una herramienta de diseño con CSS, mediante las propiedades mix-blend-mode o background-blend-mode. El mix-blend-mode aplica la combinación a un elemento completo, y el background-blend-mode aplica la combinación al fondo de un elemento.

Usas background-blend-mode cuando tienes varios fondos en un elemento y quieres que todos se combinen entre sí.

mix-blend-mode afecta a todo el elemento, incluidos sus seudoelementos. Un caso práctico se da en el ejemplo inicial de una imagen en dos tonos, que tiene capas de color aplicadas al elemento a través de sus seudoelementos.

Los modos de fusión se dividen en dos categorías: separables y no separables. Un modo de combinación separable considera cada componente de color, como RGB, de forma individual. Un modo de combinación no separable considera todos los componentes de color por igual.

Compatibilidad del navegador

mix-blend-mode

Navegadores compatibles

  • 41
  • 79
  • 32
  • 8

Origen

background-blend-mode

Navegadores compatibles

  • 35
  • 79
  • 30
  • 8

Origen

Modos de combinación separables

Normal

Este es el modo de fusión predeterminado y no cambia nada sobre cómo un elemento se combina con otros.

Multiplicar

El modo de combinación multiply es como apilar varias transparencias una encima de la otra. Los píxeles blancos parecerán transparentes y los negros, negros. Cualquier valor intermedio multiplicará sus valores de luminosidad (luz). Esto significa que las luces se vuelven mucho más claras, oscuras y oscuras, lo que suele producir un resultado más oscuro.

.my-element {
  mix-blend-mode: multiply;
}

Pantalla

El uso de screen multiplica los valores de luz, un efecto inverso a multiply, y suele producir un resultado más brillante.

.my-element {
  mix-blend-mode: screen;
}

Superposición

Este modo de fusión, overlay, combina multiply y screen. Los colores oscuros base se vuelven más oscuros y los claros base se vuelven más claros. Los colores de gama media, como el gris al 50%, no se ven afectados.

.my-element {
  mix-blend-mode: overlay;
}

Oscurecer

El modo de combinación darken compara la luminosidad del color oscuro de la imagen de origen y de fondo y selecciona el más oscuro. Para ello, se comparan los valores de RGB en lugar de la luminosidad (como lo harían multiply y screen) para cada canal de color. Con darken y lighten, se suelen crear nuevos valores de color a partir de este proceso de comparación.

.my-element {
  mix-blend-mode: darken;
}

Aclarar

Usar lighten hace exactamente lo opuesto a darken.

.my-element {
  mix-blend-mode: lighten;
}

Sobreexposición de color

Si usas color-dodge, se aclara el color de fondo para reflejar el color de origen. Los colores negro puro no generan ningún efecto con este modo.

.my-element {
  mix-blend-mode: color-dodge;
}

Quemado de color

El modo de combinación color-burn es muy similar al modo de combinación multiply, pero aumenta el contraste, lo que genera tonos medios más saturados y reflejos más bajos.

.my-element {
  mix-blend-mode: color-burn;
}

Luz fuerte

Si usas hard-light, se crea un contraste intenso. Este modo de fusión filtra o multiplica los valores de luminosidad. Si el valor de píxeles es más claro que un gris del 50%, la imagen se aclara, como si estuviera filtrada. Si es más oscuro, se multiplica.

.my-element {
  mix-blend-mode: hard-light;
}

Luz suave

El modo de combinación soft-light es una versión menos severa de overlay. Funciona prácticamente de la misma manera con menos contraste.

.my-element {
  mix-blend-mode: soft-light;
}

Diferencia

Una buena manera de imaginar cómo funciona difference es similar al funcionamiento de un negativo de foto. El modo de combinación difference toma el valor de la diferencia de cada píxel, lo que invierte los colores de la luz. Si los valores de color son idénticos, se vuelven negros. Se invertirán las diferencias en los valores.

.my-element {
  mix-blend-mode: difference;
}

Exclusión

El uso de exclusion es muy similar a difference, pero en lugar de mostrar negro para píxeles idénticos, mostrará un 50% de gris, lo que da como resultado un resultado más suave con menos contraste.

.my-element {
  mix-blend-mode: exclusion;
}

Modos de combinación no separables

Puedes pensar en estos modos de combinación como componentes de color de HSL. Cada uno toma un valor de componente específico de la capa activa y lo combina con otros valores de componente.

Hue

El modo de combinación hue toma el tono del color de origen y lo aplica a la saturación y la luminosidad del color del fondo.

.my-element {
  mix-blend-mode: hue;
}

Saturación

Esto funciona como hue, pero si usas saturation como modo de combinación, se aplica la saturación del color de origen al tono y la luminosidad del color de fondo.

.my-element {
  mix-blend-mode: saturation;
}

Color

El modo de combinación color creará un color a partir del tono y la saturación del color de origen, y la luminosidad del color de fondo.

.my-element {
  mix-blend-mode: color;
}

Luminosidad

Por último, luminosity es lo contrario a color. Crea un color con la luminosidad del color de origen y el matiz y la saturación del color de fondo.

.my-element {
  mix-blend-mode: luminosity;
}

La propiedad isolation

Navegadores compatibles

  • 41
  • 79
  • 36
  • 8

Origen

Si configuras la propiedad isolation para que tenga un valor de isolate, se creará un nuevo contexto de apilado, lo que impedirá que se combine con una capa de fondo. Como aprendiste en el módulo de índice z, cuando creas un nuevo contexto de apilado, esa capa se convierte en la capa base. Esto significa que los modos de combinación a nivel superior ya no se aplicarán, pero los elementos dentro de un elemento con isolation: isolate establecido pueden aún combinarse.

Ten en cuenta que esto no funciona con background-blend-mode porque la propiedad en segundo plano ya está aislada.

Verifica tus conocimientos

Pon a prueba tus conocimientos sobre los modos mixtos

¿Cuáles de las siguientes opciones son modos de combinación de CSS?

Diferencia
🎉
Aclarar
🎉
Aclarar
Vuelve a intentarlo.
Dullen
Vuelve a intentarlo.
Multiplicar
🎉
Superposición
🎉

Si quieres combinar diferentes colores de diferentes maneras, ¿qué estilo de modo de combinación necesitas?

Separables
Estos modos de combinación incluyen efectos orientados al canal de color
No separable
Vuelve a intentarlo, los canales no separables no reconocen canales de color