Свойство filter в CSS
- предыдущая страница empty-cells
- Следующая страница flex
Определение и использование
Свойство filter определяет визуальные эффекты элемента (обычно <img>), такие как размытие и насыщенность.
Дополнительная информация:
Учебник CSS:CSS изображения
Руководство по HTML DOM:Свойство filter
Пример
Изменить все изображения на черно-белые (100% серого):
img { filter: grayscale(100%); }
Совет:Более подробные примеры TIY можно найти в нижней части страницы.
CSS грамматика
filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();
Совет:Для использования нескольких фильтров разделите их пробелом (смотрите примеры ниже).
Технические детали
Значение по умолчанию: | none |
---|---|
Инклюзия: | Нет |
Создание анимации: | Поддержка. См. также:Свойства анимации. |
Версия: | CSS3 |
JavaScript синтаксис: | object.style.filter="grayscale(100%)" |
Функция фильтра
Примечание:Используйте процентные значения (например, 75%) для фильтров, также принимаются десятичные значения (например, 0.75).
Фильтр | Описание |
---|---|
none | Значение по умолчанию. Определяет отсутствие эффекта. |
blur(px) |
Применение эффекта размытия к изображению. Более высокое значение приведет к более сильному размытию. Если указано значение, используется 0. |
brightness(%) |
Регулировка яркости изображения.
|
contrast(%) |
Регулировка контрастности изображения.
|
drop-shadow(h-shadow v-shadow blur spread color) |
Применение тени к изображению. Возможные значения:
blur - опционально. Это третий параметр, единица измерения - пиксели. Добавляет эффект размытия тени. Чем больше значение, тем больше размытие (тень станет больше и ярче). Не допускаются отрицательные значения. Если не указан параметр, используется 0 (край тени будет очень резким). spread - опционально. Это четвертый параметр, единица измерения - пиксели. Положительное значение приведет к расширению тени и увеличению, а отрицательное значение - к уменьшению тени. Если не указан параметр, используется 0 (тень будет такого же размера, как и элемент). Примечание:Chrome, Safari и Opera, возможно, а также другие браузеры, не поддерживают четвертый размер; если добавлен, то он не будет отображаться. color - опционально. Добавляет цвет тени. Если не указан, цвет зависит от браузера (обычно черный). Этот пример создает красный тень,水平和垂直方向均为 8 пикселей, с эффектом размытия 10 пикселей: filter: drop-shadow(8px 8px 10px red); Совет:Этот фильтр похож на атрибут box-shadow. |
grayscale(%) |
Convert the image to grayscale.
Примечание:Запрещены отрицательные значения. |
hue-rotate(deg) |
Apply a hue rotation to the image. This value defines the degrees of the color wheel. The default value is 0deg, representing the original image. Примечание:The maximum value is 360deg. |
invert(%) |
Invert the samples in the image.
Примечание:Запрещены отрицательные значения. |
opacity(%) |
Set the opacity level of the image. opacity-level describes the transparency level, where:
Примечание:Запрещены отрицательные значения. Совет:Этот фильтр похож на атрибут opacity. |
saturate(%) |
Set the saturation of the image.
Примечание:Запрещены отрицательные значения. |
sepia(%) |
Преобразовать изображение в коричневый цвет.
Примечание:Запрещены отрицательные значения. |
url() |
Функция url() принимает положение XML файла с фильтрами SVG и может содержать ссылку на конкретный элемент фильтра. Пример: filter: url(svg-url#element-id) |
initial | Set this property to its default value. See initial. |
inherit | Инherit this property from its parent element. See inherit. |
Более сложные примеры
Пример размытия
Добавление размытия к изображению:
img { filter: blur(5px); }
Пример размытия 2
Применение размытого фона изображения:
img.background { filter: blur(35px); }
Пример яркости
Настройка яркости изображения:
img { filter: brightness(200%); }
Пример контрастности
Настройка контрастности изображения:
img { filter: contrast(200%); }
Пример тени
Применение тени к изображению:
img { filter: drop-shadow(8px 8px 10px gray); }
Пример градаций серого
Преобразовать изображение в градации серого:
img { filter: grayscale(50%); }
Пример поворота тона
Применить поворот тона к изображению:
img { filter: hue-rotate(90deg); }
Пример инверсии
Инвертировать образцы в изображении:
img { filter: invert(100%); }
Пример непрозрачности
Установите уровень непрозрачности изображения:
img { filter: opacity(30%); }
Пример насыщенности
Настройте насыщенность изображения:
img { filter: saturate(800%); }
Пример коричневато-серого цвета
Преобразовать изображение в коричневато-серый цвет:
img { filter: sepia(100%); }
Использование нескольких фильтров
Чтобы использовать несколько фильтров, разделите их пробелом. Обратите внимание, что порядок важен (например, использование grayscale() после sepia() приведет к полному灰色的 изображению):
img { filter: contrast(200%) brightness(150%); }
Все фильтры
Показать все функции фильтров:
.blur { filter: blur(4px); } .brightness { filter: brightness(0.30); } .contrast { filter: contrast(180%); } .grayscale { filter: grayscale(100%); } .huerotate { filter: hue-rotate(180deg); } .invert { filter: invert(100%); } .opacity { filter: opacity(50%); } .saturate { filter: saturate(7); } .sepia { filter: sepia(100%); } .shadow { filter: drop-shadow(8px 8px 10px green); }
Поддержка браузерами
Числа в таблице указывают на первую версию браузера, которая полностью поддерживает этот атрибут.
Числа с префиксом -webkit- указывают на первую версию, использующую префикс.
Chrome | IE / Edge | Firefox | Safari | Opera |
---|---|---|---|---|
53.0 18.0 -webkit- |
13.0 | 35.0 | 9.1 6.0 -webkit- |
40.0 15.0 -webkit- |
Примечание:Старые версии Internet Explorer (4.0 до 8.0) поддерживают устаревшие нестандартные атрибуты "filter". При необходимости поддержки IE8 и более ранних версий, они主要用于 непрозрачность.
- предыдущая страница empty-cells
- Следующая страница flex