Una de las características más inestimables de Photoshop (posiblemente la característica que lo impulsó por delante de su competencia) son los modos de fusión. Los modos de fusión toman dos píxeles colocados uno encima del otro y los combina de diferentes maneras, por ejemplo, el modo de fusión de color más oscuro simplemente renderizará el más oscuro de los dos píxeles. Cuando se expande a través de una imagen completa, los modos de fusión pueden producir algunos efectos sorprendentes.
Aunque Adobe Photoshop no inventó modos de fusión, su implementación es ciertamente la más emulada. Pero ahora, no necesita Photoshop para diseñar sus imágenes de esta manera, porque podemos hacerlo todo, dinámicamente, con CSS3.
Tal y como está, soporte de navegador para CSS , la propiedad background-blend-mode está mejorando. Las versiones anteriores de navegadores requerían prefijos de proveedor y / o la activación de características experimentales, pero caniuse.com informes de soporte en las versiones actuales de Chrome, Firefox y Opera, con Safari próximamente.
Todavía no hay señal de soporte de IE, pero como los modos de fusión son una mejora progresiva, podemos empezar a considerar su uso ahora.
Hay una serie de opciones de modo de mezcla en las recomendaciones de candidato de CSS3, pero la más útil para nuestros propósitos es el modo de mezcla de fondo . Esta propiedad nos permite combinar dos imágenes, o una imagen y un color de fondo.
Aquí está el código que necesitamos:
Y aquí está nuestro CSS básico:
.blend{width:782px;height:540px;background:#3db6b8 url("lighthouse.jpg") no-repeat center center;}
Ahora estamos listos para agregar los modos de fusión.
Para hacer esto, vamos a agregar otra clase a nuestro div, por ejemplo "multiplicar":
Y luego crearemos una segunda regla de estilo:
.blend.multiply{background-blend-mode: multiply;}
Si quieres echarle un vistazo al código, puedes descarga los archivos fuente aquí.
Multiplicar , como su nombre indica, multiplica el píxel base por el color de fusión, lo que da como resultado un color más oscuro. Multiplicar los resultados negros en negro y multiplicar los blancos no cambia la imagen.
background-blend-mode: multiply;