DevGang
Авторизоваться

Сделайте наложение шума, используемое на отмеченных наградами сайтах, за 3 шага

Возможно, вы столкнулись с этой тенденцией на Awwwards, особенно на некоторых сайтах-портфолио.

Вы можете ясно увидеть это на сайте Дэвида Ободо.

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

Это тот, который я собираюсь использовать. Просто щелкните правой кнопкой мыши и сохраните изображение, чтобы использовать его со мной 👇

1. HTML

Давайте создадим div и присвоим ему класс. Лучше всего располагать этот div внутри тела, но отдельно от всего остального.

HTML:

<div class="noise"></div>

JSX (React):

<div className="noise"></div>

2. Установка фонового изображения и его заполнение экрана.

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

.noise {
    background-image: url("../assets/noise.png");
    position: fixed; // To show noise at all times
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200vh;
    opacity: 0.5; // To make the effect more subtle. You can adjust this to your liking.
}

3. Добавляем шумовую анимацию

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

.noise {
    // Your existing code
    animation: noise 0.3s infinite;
}

Теперь о ключевых кадрах:

@keyframes noise {
    0% {
        transform: translate(0, 0);
    }
    10% {
        transform: translate(-5%, -5%);
    }
    20% {
        transform: translate(-10%, 5%);
    }
    30% {
        transform: translate(5%, -10%);
    }
    40% {
        transform: translate(-5%, 15%);
    }
    50% {
        transform: translate(-10%, 5%);
    }
    60% {
        transform: translate(15%, 0);
    }
    70% {
        transform: translate(0, 10%);
    }
    80% {
        transform: translate(-15%, 0);
    }
    90% {
        transform: translate(10%, 5%);
    }
    100% {
        transform: translate(5%, 0);
    }
}

Вот и все!

Если вы теперь установите темный цвет фона вашего тела, у вас должно получиться что-то похожее на этот 👇

Источник:

#CSS #HTML #Design
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

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

В этом месте могла бы быть ваша реклама

Разместить рекламу