CSS-свойствоВ стандарте

CSS filter — синтаксис и примеры

CSS-свойство filter: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Практический смысл

«filter» рассматривается не как изолированный синтаксис, а как часть области «цвет и отрисовка». Свойство filter относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Практический контекст для «filter» — на странице при отключённых изображениях; во время проверки меняйте только одно условие за запуск.

Практическое правило для filter

Рабочий критерий для «filter»: проверьте вычисленное значение filter, наследование и контекст родителя. Если результат «filter» меняется вместе с посторонним условием, пример ещё не изолирован.

Синтаксис filter

Синтаксис «filter» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.

css
.demo {
  filter: #2563eb;
}
Открыть в Playground

Как работает filter

Браузер обрабатывает «filter» в контексте области «цвет и отрисовка»: свойство filter относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Для «filter» наблюдения через поведение без пользовательской таблицы стилей и момент загрузки ресурса в Network отделяют исходное условие от результата.

Проверка в проекте

  • Проверьте вычисленное значение filter, наследование и контекст родителя; результат относится непосредственно к «filter».
  • Проверить вычисленное значение в DevTools и источник победившего правила при разборе «filter».
  • Проверьте «filter» на странице при отключённых изображениях через поведение без пользовательской таблицы стилей и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «filter», когда требуется определять визуальный слой элемента без изменения смысловой структуры документа; подтвердите выбор предметной проверкой: проверьте вычисленное значение filter, наследование и контекст родителя. Для «filter» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с filter

Перенесите «filter» в тестовом шаблоне и испытайте его на странице при отключённых изображениях. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «filter»: изолированная декларация filter без связанных ограничений может дать другой результат в реальном компоненте.

цвет и отрисовкаfilter

Сценарий: на странице при отключённых изображениях.

Ошибки при работе с filter

01

Устойчивость

Изолированная декларация filter без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «filter».

02

Доступность

Отсутствие запасного поведения при неподдерживаемой возможности при использовании «filter».

03

Каскад

Дублирование интерактивной роли без нативного управления; для «filter» проверьте это отдельно.

Поддержка filter

Для «filter» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «filter»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 53Edgeс версии 12Firefoxс версии 35Safariс версии 9.1

Спецификация: источник 1.

Вопросы о filter

Как понять, что «filter» выбрано правильно?

«filter» выбрано правильно, когда оно решает задачу «определять визуальный слой элемента без изменения смысловой структуры документа», сохраняет результат на странице при отключённых изображениях и проходит предметную проверку: проверьте вычисленное значение filter, наследование и контекст родителя.

Нужен ли запасной вариант для «filter»?

Запасной вариант для «filter» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «filter» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.