Um dos recursos mais valiosos do Photoshop - sem dúvida, o recurso que o impulsionou para a concorrência - são os modos de mesclagem. Os modos de mesclagem levam dois pixels sobrepostos uns aos outros e os combinam de maneiras diferentes; por exemplo, o modo de mistura de cores mais escuras simplesmente renderiza o mais escuro dos dois pixels. Quando expandido em uma imagem inteira, os modos de mesclagem podem produzir alguns efeitos impressionantes.
Embora o Photoshop da Adobe não tenha inventado os modos de mesclagem, sua implementação é certamente a mais emulada. Mas agora, você não precisa do Photoshop para estilizar suas imagens dessa maneira, porque podemos fazer tudo dinamicamente com CSS3.
Como está, suporte ao navegador para CSS, a propriedade background-blend-mode está melhorando. Versões anteriores de navegadores exigiam prefixos de fornecedores e / ou a ativação de recursos experimentais, mas caniuse.com reporta suporte nas versões atuais do Chrome, Firefox e Opera, com o Safari seguindo em breve.
Ainda não há sinal de suporte ao IE, mas como os modos de mesclagem são um aprimoramento progressivo, podemos começar a considerar usá-los agora.
Há várias opções de modo de mesclagem nas recomendações de candidatos a CSS3, mas a mais útil para nossos propósitos é o modo de mesclagem de plano de fundo . Essa propriedade nos permite mesclar duas imagens, uma imagem e uma cor de fundo.
Aqui está o código que precisamos:
E aqui está nosso CSS básico:
.blend{width:782px;height:540px;background:#3db6b8 url("lighthouse.jpg") no-repeat center center;}
Agora estamos prontos para adicionar os modos de mesclagem.
Para fazer isso, vamos adicionar outra classe ao nosso div, por exemplo, "multiplicar":
E então vamos criar uma segunda regra de estilo:
.blend.multiply{background-blend-mode: multiply;}
Se você quiser dar uma olhada no código que você pode baixe os arquivos de origem aqui.
Multiplicar , como o nome sugere, multiplica o pixel de base pela cor de mesclagem, resultando em uma cor mais escura. Multiplicar o preto resulta em preto e a multiplicação do branco deixa a imagem inalterada.
background-blend-mode: multiply;