Режимы наложения слоёв в Web

Привет, Хабр! Одна из главных причин тяжёлых увечий дизайнеров претензий к неопытным дизайнерам от верстальщиков, при получении от них PSD-макетов — это наличие слоёв с заданными режимами смешивания, отличными от normal. Вполне возможно, что скоро это уйдёт в прошлое! Речь пойдёт о реализации спецификации «Compositing and Blending Level 1» в современных браузерах.Что это и для чего? Данный стандарт описывает правила наложения слоёв друг на друга, аналогично тому, как это делается в Photoshop. Например, в режиме multiply итоговый цвет пикселя будет равен произведению цветов двух слоёв. Благодаря этому, можно добиться различных эффектов, таких как:1) Фотоэффекты, такие как обесцвечивание картинки, сепия, наложение цвета. Например, достаточно будет использовать только одну цветную картинку, чтобы получить плавную анимацию от обесцвеченной к цветной при наведении:(по клику — живой пример на jsfiddle)daa305fa7f991ea59e95b397a68ef220.jpg 555ea8d2802f08d3f219264c0c30bfc8.jpg

2) Часто дизайнеры ленятся вырезать фон из картинки и используют наложение картинки без прозрачности на слой так, что фоновый чёрный/белый цвет будет в данном режиме преобразуются в прозрачный (режим screen/multiply): 68c31dfb33c44e93cf45e88e2dbe1dd8.jpg(на картинке внизу показал кусочек накладываемого изображения «как есть»)

3) Иногда можно использовать данную технологию для реализации эффектов с текстом, например, в логотипах: ec3828aabb2b228030dac20bdfe2840b.png

4) Для создания различных эффектов-красивостей: Демо, автор Justin Windle, http://soulwire.co.uk

Список режимов Для примера, будем накладывать тира на такую картинку в разных режимах: 7ae38a916d684ffa431c9a46831fdb3a.png* здесь я взял раскрашенную в красные оттенки картинку, для демонстрации эффектаТехнологии применения и поддержка браузерами По спецификации, применять режимы наложения можно в четырёх случаях:1) Для фонового изображения в CSS

background-blend-mode: ; Поддерживают: Chrome 35+, Firefox 30+ beta (войдёт ли в релиз этот функционал, ещё вопрос, т. к. скорее всего уже переносили «приземление» этого функционала).2) Для HTML-элементов

mix-blend-mode: ; Поддерживают: -3) Для SVG

© Habrahabr.ru