backdrop-filter

Благодаря свойству CSS backdrop-filter можно применить к фону под элементом различные фильтры: оттенки серого, контраст, размытие и др. Его работа похожа на свойство filter, за исключением того, что backdrop-filter применяется только к фону элемента.

Чтобы увидеть работу свойства основной элемент или его фон должны быть хотя бы частично прозрачными.

Похожие эффекты можно видеть в интерфейсах продуктов Apple: IOS, OSX Yosemite и т.п. Без фильтра такой эффект можно получить разделив элемент на основной контент и фон, то есть на два тега, и применив filter к фоновому элементу. Теперь же сделать «матовое стекло» на фоне гораздо проще. Пример работы:

See the Pen
backdrop-filter
by Андрей (@adlibi)
on CodePen.

Синтаксис

backdrop-filter: none | <фильтр>

Пример:

.foreground {
  backdrop-filter:blur(5px);
}

В настоящий момент можно применить следующие функции:

  • blur()
  • brightness()
  • contrast()
  • drop-shadow()
  • grayscale()
  • hue-rotate()
  • invert()
  • opacity()
  • saturate()
  • sepia()
  • url() – для SVG фильтров

Можно использовать несколько функций одновременно

.element {
  backdrop-filter: grayscale(0.5) opacity(0.8) /* и так далее */;
}

Пример разных значений свойства

See the Pen
backdrop-filter – все
by Андрей (@adlibi)
on CodePen.


На момент подготовки этого материала backdrop-filter работает кроссбраузерно – есть поддержка для 86% браузеров. Свойство не работает в Internet Explorer и в некоторых версиях мобильных браузеров. В Firefox и Opera свойством можно пользоваться, если подключить вручную. В Edge и Safari поддерживается -webkit-background-filter.

Как подключить в Opera и Firefox

Чтобы пользоваться возможностями background-filter, в Opera на странице opera:flags раздел необходимо установить Experimental Web Platform features в Enabled, а в Firefox – установить в True значении layout.css.background-filter.enabled на странице about:config.

Оцените статью
Инструкции для Web
Добавить комментарии