CSS-свойство filter
добавляет визуальные эффекты к элементам на странице. Например, вы можете поменять цвет, яркость и насыщенность элемента, наложить размытие или изменить прозрачность, инвертировать цвета или сделать что-то ещё.
Всего фильтров девять, и вот как они работают:
К каким элементам применять свойство filter
Свойство filter
можно применить к любому элементу с графическим содержимым, например, изображению, видео, тексту или форме. Однако с формами, заголовками и абзацами свойство следует использовать осторожно, оно влияет на внешний вид и читаемость текста. Например, так делать не нужно:
Значения CSS-свойства filter
Значение свойства по умолчанию — none
, то есть фильтр не выбран. Чтобы добавить эффект, нужно заменить none
на любое из следующих значений.
blur
— размытие элемента. Указывается в пикселях: filter: blur(5px)
.
brightness
— яркость элемента. Принимает значение от 0
до 100%
. Например, filter: brightness(50%)
уменьшит яркость элемента на 50%.
contrast
— контрастность элемента, указывается в процентах. Например, filter: contrast(200%)
увеличит контрастность элемента в два раза.
grayscale
— оттенки серого. Принимает значение от 0
до 100%
. Например, filter: grayscale(100%)
сделает фото чёрно-белым.
hue-rotate
— меняет оттенок элемента. Принимает значение в градусах. Например, filter: hue-rotate(90deg)
повернёт оттенок элемента на цветовом круге на 90 градусов.
invert
— инвертирует цвета элемента. Принимает значение от 0
до 100%
. Например, filter: invert(90%)
инвертирует цвета элемента на 90%.
opacity
— прозрачность элемента. Принимает значение от 0
до 100%
. Например, filter: opacity(50%)
сделает элемент полупрозрачным.
saturate
— насыщенность элемента. Принимает значение в процентах. Например, filter: saturate(200%)
сделает цвета насыщеннее в два раза.
sepia
— создаёт эффект старой фотографии. Принимает значение в процентах, например, filter: sepia(50%)
.
Стоит учитывать, что браузеры по-разному поддерживают фильтры, поэтому вёрстка может отличаться на разных браузерах и устройствах. Проверяйте её, тем более, это не очень сложно.
👉 Тем не менее, все браузеры поддерживают свойство filter
, так что смело пользуйтесь им, но знайте меру.
Наследуется ли свойство filter
Свойство filter
не наследуется от родительских элементов. Нужно явно указывать, к каким элементам на странице применить эффекты. Но если вы добавите filter
форме, её поля и подписи к ним станут отображаться с добавленным эффектом.