Перейти к основному содержимому

CSS-фильтры

Визуальные эффекты, такие как размытие и насыщенность, применяются к элементам через свойство CSS filter.

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

  • blur()
  • brightness()
  • contrast()
  • drop-shadow()
  • grayscale()
  • hue-rotate()
  • invert()
  • opacity()
  • saturate()
  • sepia()

Функция CSS blur()

Элементы размывает функция фильтра blur(), и размытие растёт вместе со значением.

Без значения используется 0, что не даёт никакого эффекта.

Пример

Две разные степени размытия на элементах <img>:

Prompt
Создайте HTML-страницу, которая применяет к двум изображениям разные эффекты CSS-фильтра blur. Первое изображение должно иметь размытие 2px, а второе — 6px, с использованием свойства CSS filter.
Результат: полная HTML-страница

Функция CSS brightness()

Насколько ярким выглядит элемент, определяет функция фильтра brightness().

  • 0% делает изображение полностью чёрным
  • Любое значение ниже 100% затемняет изображение
  • 100% — значение по умолчанию, сохраняющее исходную яркость
  • Любое значение выше 100% делает изображение ярче

Пример

Одно изображение, показанное и ярче, и темнее оригинала:

Prompt
Создайте HTML-страницу, которая изменяет яркость двух изображений с помощью свойства CSS filter. Первое изображение должно быть ярче на 150%, а второе темнее на 50%.
Результат: полная HTML-страница

Функция CSS contrast()

Повышать или понижать контрастность элемента позволяет функция фильтра contrast().

  • 0% делает изображение полностью серым
  • Ниже 100% контрастность снижается
  • 100% — значение по умолчанию, сохраняющее исходную контрастность
  • Выше 100% контрастность растёт

Пример

Изображение с повышенной, а затем с пониженной контрастностью:

Prompt
Создайте HTML-страницу, которая изменяет контрастность двух изображений с помощью свойства CSS filter. У первого изображения контрастность должна быть увеличена до 150%, а у второго — уменьшена до 50%.
Результат: полная HTML-страница

Функция CSS drop-shadow()

Чтобы добавить изображению эффект отбрасываемой тени, используйте функцию фильтра drop-shadow().

Пример

Два разных эффекта drop-shadow на одном изображении:

Prompt
Создайте HTML-страницу, которая применяет к двум изображениям разные эффекты CSS-фильтра drop-shadow. У первого должна быть серая тень (8px 8px 10px), а у второго — светло-голубая тень (10px 10px 7px).
Результат: полная HTML-страница

Функция CSS grayscale()

Преобразованием изображения в оттенки серого занимается функция фильтра grayscale().

  • 0% (или 0) оставляет изображение без изменений
  • 100% (или 1) делает изображение полностью в оттенках серого

Пример

Одно и то же изображение с разными уровнями оттенков серого:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра grayscale с помощью свойства CSS filter. Используйте значения 1, 60% и 0.4 соответственно.
Результат: полная HTML-страница

Функция CSS hue-rotate()

С функцией фильтра hue-rotate() цвета элемента поворачиваются по цветовому кругу.

Её значение — это количество градусов, на которое изменяется изображение. При 0deg вы видите исходное изображение, положительные значения увеличивают оттенок, а отрицательные — уменьшают его.

Пример

Одно и то же изображение с разными поворотами цвета:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра hue-rotate с помощью свойства CSS filter. Используйте значения 200deg, 90deg и -90deg соответственно.
Результат: полная HTML-страница

Функция CSS invert()

Используйте функцию фильтра invert(), чтобы инвертировать цвета изображения.

  • 0% (или 0) оставляет изображение без изменений
  • 100% (или 1) полностью инвертирует цвета

Пример

Три уровня инверсии цветов на одном изображении:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра invert с помощью свойства CSS filter. Используйте значения 0.3, 70% и 100% соответственно.
Результат: полная HTML-страница

Функция CSS opacity()

Функция фильтра opacity() делает элемент частично или полностью прозрачным.

  • 0% (или 0) делает элемент полностью прозрачным
  • 50% (или 0.5) делает элемент прозрачным на 50%
  • 100% (или 1) оставляет элемент без изменений

Пример

Одно и то же изображение с разными уровнями прозрачности:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра opacity с помощью свойства CSS filter. Используйте значения 80%, 50% и 0.2 соответственно.
Результат: полная HTML-страница

Функция CSS saturate()

Интенсивность цвета, или насыщенность, — это то, что регулирует у элемента функция фильтра saturate().

  • 0% (или 0) полностью убирает насыщенность
  • 100% (или 1) оставляет элемент без изменений
  • 200% (или 2) делает элемент сверхнасыщенным

Пример

Одно и то же изображение с разными уровнями насыщенности:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра saturate с помощью свойства CSS filter. Используйте значения 0, 100% и 200% соответственно.
Результат: полная HTML-страница

Функция CSS sepia()

Оттенок сепии — это более тёплый, коричнево-жёлтый цвет, и функция фильтра sepia() придаёт его изображению.

  • 0% (или 0) оставляет изображение без изменений
  • 100% (или 1) применяет полный эффект сепии

Пример

Одно и то же изображение с разными уровнями сепии:

Prompt
Создайте HTML-страницу, которая применяет к трём изображениям разные эффекты фильтра sepia с помощью свойства CSS filter. Используйте значения 1, 60% и 0.4 соответственно.
Результат: полная HTML-страница