Кратко
СкопированоCSS позволяет накладывать поверх картинок или фонов различные фильтры. Почти как в Инстаграме. Можно, например, размыть или обесцветить изображение, сделать его более контрастным.
Функции используются в качестве значений для свойств filter
и backdrop
.
Пример
Скопированоdiv { filter: saturate(2.2);}
div { filter: saturate(2.2); }
Как пишется
Скопированоblur()
СкопированоПримеряет размытие Гаусса к изображению. Значение в скобках указывает сколько пикселей сливаются друг с другом. Чем больше значение, тем больше размытие. Можно указать положительное значение в любых единицах измерения, кроме процентов.
img { filter: blur(3px);}
img { filter: blur(3px); }
brightness()
СкопированоМеняет яркость изображения. В скобках можно указать любое значение от 0% и выше. Значение 0% сделает изображение полностью чёрным. Значение 100% вернёт изображению исходную яркость. Значение больше 100% выкрутит яркость картинки. Значением может быть целое или дробное число без единиц измерения.
img { filter: brightness(30%);}
img { filter: brightness(30%); }
contrast()
СкопированоМеняет контраст изображения. В скобках можно указать любое значение от 0% и выше. Значение 0% сделает изображение полностью чёрным. Значение 100% вернёт изображению исходный контраст. Значение больше 100% усилит исходный контраст. Значением может быть целое или дробное число без единиц измерения.
img { filter: contrast(250%);}
img { filter: contrast(250%); }
drop-shadow()
СкопированоЗадаёт тень для картинки. Тень располагается снаружи элемента. Эта функция очень похожа на box
по допустимым значениям и результату. Разница лишь в том, что нельзя указывать ключевое слово inset
.
img { filter: drop-shadow(4px 4px red);}
img { filter: drop-shadow(4px 4px red); }
grayscale()
СкопированоДелает изображение чёрно-белым. В скобках можно указать значение от 0% до 100%. Значение 100% сделает изображение полностью чёрно-белым. Значение 0% вернёт изображению исходные цвета. Значением может быть целое или дробное число без единиц измерения.
img { filter: grayscale(80%);}
img { filter: grayscale(80%); }
hue-rotate()
СкопированоМеняет цвета изображения за счёт поворота цветового круга. Угол поворота указывается в скобках функции. Можно указывать угол в градусах deg
или в поворотах turn
.
img { filter: hue-rotate(0.5turn);}
img { filter: hue-rotate(0.5turn); }
invert()
СкопированоИнвертирует цвета изображения, как бы выворачивает их, превращая в противоположные. В результате получается что-то вроде негатива. Можно указать процент инверсии от 0% до 100%. При 100% цвета на картинке полностью инвертированы. Отрицательные значения или значения больше 100% не допускаются.
img { filter: invert(100%);}
img { filter: invert(100%); }
opacity()
СкопированоМеняет прозрачность изображения. Можно указать процент прозрачности от 0% до 100%. 0% делает картинку полностью прозрачной. 100% не меняет прозрачность изображения. Отрицательные значения или значения больше 100% не допускаются.
Очень похоже на работу свойства opacity
с той разницей, что для фильтра браузер, как правило, применяет аппаратное ускорение для улучшения производительности.
img { filter: opacity(40%);}
img { filter: opacity(40%); }
saturate()
СкопированоМеняет насыщенность цветов изображения. Значение 0% полностью убирает насыщенность цветов. Значение 100% не изменяет исходное изображение. Допускаются значения больше 100% что приводит к перенасыщенности. Нельзя указать отрицательное значение.
img { filter: saturate(390%);}
img { filter: saturate(390%); }
sepia()
СкопированоМеняет цвета изображения на сепию — коричневые оттенки. Значение 100% полностью преобразует изображение в сепию. Значение 0% не изменяет исходное изображение. Отрицательные значения или значения больше 100% не допускаются. Можно использовать целое или дробное число без единиц измерения в качестве значения.
img { filter: sepia(0.6);}
img { filter: sepia(0.6); }
Все фильтры сразу
СкопированоПодсказки
Скопировано💡 Можно указать сразу несколько фильтров для одного элемента, перечислив их через пробел.
На практике
Скопированосоветует Скопировано
🛠 С помощью drop
мы можем создать тень по форме самого изображения. Функция учитывает альфа-канал картинки и способна отбрасывать не только прямоугольную тень, как в случае с box
.
.box-shadow { box-shadow: 4px 4px 10px red;}.drop-shadow { filter: drop-shadow(4px 4px 10px red);}
.box-shadow { box-shadow: 4px 4px 10px red; } .drop-shadow { filter: drop-shadow(4px 4px 10px red); }