Создание фильтров для вашего сайта

RedDeveloper
01.05.2023 12:37
Создание фильтров для вашего сайта

Фильтры - удобный инструмент в арсенале веб-дизайнера. Они позволяют изменять элементы на странице с помощью всего нескольких строк кода. Эти изменения можно использовать для быстрого создания целостного дизайна ваших сайтов. Мы вкратце рассмотрим градиенты, режимы наложения и текстурирование SVG.

Скорее всего, вы уже знакомы с градиентами, но чтобы дать им правильное определение, градиенты - это постепенное перетекание двух или более цветов. Наиболее распространенным является линейный градиент.

.simple-linear {
 background: linear-gradient(blue, pink);
}
Скорее всего вы уже знакомы с градиентами но чтобы дать им правильное определение
background: linear-gradient(cyan -20%, pink 40%, beige 140%)

Существуют также радиальные градиенты и конические градиенты. Кроме того, вы можете регулировать скорость перехода, чтобы он был более или менее постепенным, вплоть до жесткой линии между двумя цветами.

Существуют также радиальные градиенты и конические градиенты Кроме того вы можете
radial-gradient(cyan 50% , red 50%, orange );

Все это можно комбинировать, создавая довольно сумасшедшие эффекты:

Все это можно комбинировать создавая довольно сумасшедшие эффекты
repeating-linear-gradient(120deg, black, black 10px, white 10px, white 20px);
Все это можно комбинировать создавая довольно сумасшедшие эффекты
background-image: radial-gradient(black 15%, transparent 15%),
    radial-gradient(black 80%, transparent 40%);
  background-size:60px 60px;
  background-position: 0 0, 30px 30px;

В Интернете есть множество бесплатных генераторов CSS градиентов, и любой поиск в Google выдаст десятки.

Далее мы рассмотрим режимы наложения, которые представляют собой способ объединения изображений. Существует множество математических выкладок, позволяющих заставить их работать, но суть в том, что они смешивают цвета и значения двух изображений различными способами для получения различных результатов. Вот изображение, с которым мы будем работать:

Далее мы рассмотрим режимы наложения которые представляют собой способ объединения

Теперь вот это изображение с циановым режимом наложения.

Теперь вот это изображение с циановым режимом наложения

Вот один из них с режимом наложения "Зеленая разница".

Вот один из них с режимом наложения "Зеленая разница"
background-color: green;
mix-blend-mode: difference;

А вот один с режимом наложения цвета загара.

А вот один с режимом наложения цвета загара
background-color: tan;
mix-blend-mode: color;

И наконец, вот один из предыдущих градиентов с использованием режима наложения "жесткий свет".

И наконец вот один из предыдущих градиентов с использованием режима наложения "жесткий

Как вы можете себе представить, эти режимы наложения могут быть очень полезны при создании целостного дизайна.

Наконец, мы рассмотрим создание некоторых текстур с помощью SVG. SVG означает масштабируемая векторная графика. SVG - это HTML-тег, и вы будете настраивать его параметры в свойствах dom. Существует множество свойств, которыми вы можете манипулировать с SVG, но мы будем рассматривать только турбулентность. Если вы хотите узнать больше о других свойствах, я рекомендую посмотреть это руководство .

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

Вот изображение с турбулентностью, установленной на 0,05.

Вот изображение с турбулентностью установленной на 005
    <svg>
      <filter id='noise' x='0%' y='0%' width='100%' height='100%'>
        <feTurbulence baseFrequency="0.05" />
      </filter>
      <rect x="0" y="0" width="100%" height="100%" filter="url(#noise)" fill="none">
    </svg>

А вот как выглядит это изображение поверх схемы, полученной ранее с помощью наложения бленда.

А вот как выглядит это изображение поверх схемы полученной ранее с помощью наложения

Получился подводный эффект, который можно точно настроить в сочетании с большей турбулентностью. В качестве альтернативы можно использовать турбулентность 0,4, чтобы получить этот шумовой паттерн.

Получился подводный эффект который можно точно настроить в сочетании с большей

Для получения эффекта зернистости можно применить наложение.

Для получения эффекта зернистости можно применить наложение

Турбулентность фактически имеет два входа базовой частоты, один для плоскости x и один для плоскости y. Если вы вводите одно значение, они остаются однородными, но при двух значениях мы можем создавать карты частот, подобные этой:

Турбулентность фактически имеет два входа базовой частоты один для плоскости x и один для

Затем мы можем использовать SVG-фильтр "Карта смещения" для смещения цветов в соответствии с приведенной выше картой частот.

Затем мы можем использовать SVG-фильтр "Карта смещения" для смещения цветов в соответствии
<svg>     
 <filter id="noise" x="0%" y="0%" width="100%" height="100%">
    <feTurbulence baseFrequency="0.01 0.9" result="NOISE" numOctaves="2" />
    <feDisplacementMap in="SourceGraphic" in2="NOISE" scale="20" xChannelSelector="R" yChannelSelector="R"></feDisplacementMap>
 </filter>
    <image xlink:href="..." x="0" y="0" width="100%" height="100%" filter="url(#noise)"></image>
</svg>

Вот этот эффект на изображении с базовой частотой 0,05.

Вот этот эффект на изображении с базовой частотой 005

Надеюсь, этот беглый взгляд на каждое из этих свойств дал вам некоторые идеи о возможностях быстрого оформления ваших сайтов. Эти фильтры просты и суперлегки в применении, но оказывают огромное влияние на визуальный эффект вашего сайта.

Источники:

Developer.mozilla.org

https://tympanus.net/codrops/2019/01/15/svg-filters-101/

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.