В этом руководстве я хотел бы поделиться тем, как создать блок показать эффекты на прокрутку. Эффект состоит из твердого цветного блока уменьшения размера и выявления текста или изображения.
Эти эффекты выявления могут быть использованы для создания привлечения и свежих взаимодействий для компонентов пользовательских интерфейсов, таких как слайдеры изображений. Я создал этот слайдер, используя аналогичную анимацию Wipe:
Посмотреть это на Кодепен Отказ
Я покажу вам, как создать этот эффект с CSS и Анимировать на прокрутке (AOS) , библиотека JavaScript для анимационных элементов на прокрутке, как пользователь вводит в систему просмотра.
Начиная
Давайте начнем с добавления анимации в библиотеке прокрутки к проекту. Включите AOS.css в ярлык:
И aos.js до закрытия ярлык:
После добавления, инициализируйте AOS:
AOS.init();
Создание раскрытия блока
Сначала мы создадим раскрытие блока для выявления текста внизу. Мы будем захватывать текст от Doggo Ipsum Генератор Lorem Ipsum от Doggo Lingo.
Maximum borkdrive
.REVEAL-ДЕРЖАТЕЛЬ Класс – это контейнер для элемента твердого цвета блока и текста. Стайлинг для этих классов:
.reveal-holder {
position: relative;
display: inline-block;
overflow: hidden;
}
.reveal-block {
position: absolute;
top: 0;
width: 100%;
height: 101%;
background: white;
}
Это для блока, чтобы покрыть и показать элемент правильно. Имея высоту .reveal-Block Урок до 101% важен здесь:
Установка высоты до 100% приводит к результатам в блоке «Покрытие» не полностью над изображениями после размера окна. Иметь Переполнение Свойство CSS, набор для скрытых для .REVEAL-ДЕРЖАТЕЛЬ Класс помогает предотвратить что-либо вне контента элемента от отсечения.
Использование CSS-переходов
Анимации устанавливаются с помощью Data-aos атрибут. Например, чтобы выявить элемент справа, добавьте атрибут на .reveal-Block Класс в HTML:
И CSS:
[data-aos="reveal-right"] {
transform: scaleX(1);
transform-origin: 100% 0%;
transition-property: transform;
transition-delay: 0.5s;
}
[data-aos="reveal-right"].aos-animate {
transform: scaleX(0);
}
трансформировать Свойство CSS использует Scalex () Функция для .reveal-Block элемент для того, чтобы блок для изменения изменения размера при анимировании. Преобразование - происхождение Свойство устанавливает точку преобразования, которое в этом случае находится на уровне 100% 0% или вправо. Это то, что заставляет блок анимировать, уменьшая размер. Переход - свойство Устанавливает эффект перехода для применения и Задержка перехода Устанавливает переход, чтобы подождать на основе набора значений.
Добавьте эти варианты в Aos.init () Функция, чтобы сделать анимацию играть один раз:
AOS.init({
once: true
});
Анимация теперь будет играть один раз на свиток! Вот как это должно выглядеть так далеко:
Чтобы добавить этот же эффект на изображения, это аналогичный процесс. Замените текст изображение в HTML:
Чтобы сделать выявить эффект скользить влево справа, отредактируйте Преобразование - происхождение до 0% 100%:
[data-aos="reveal-left"] {
...
transform-origin: 0% 100%;
...
}
Анимация псевдоэлементов
Мы будем использовать псевдоэлементы к .reveal-Block Класс для создания более стильной раскрытия анимации.
Начните с модификации CSS для .reveal-Block сорт:
.reveal-block {
position: absolute;
top: 0;
width: 100%;
height: 101%;
background: white;
}
.reveal-block::before {
position: absolute;
content: '';
top: 0;
left: 0;
right: 0;
bottom: 0;
background: lightgray;
transition-property: transform;
transition-duration: 0.5s;
}
:: До Псевдоэлемент – это свой собственный элемент, действующий как другой .reveal-Block Но может быть установлен своими собственными свойствами, такими как цвет фона или позиционирование.
Добавить .right класс до .reveal-Block вот так:
Это поможет, когда с анимацией с псевдоэлементами. CSS является:
.reveal-block.right::before {
transform: scaleX(0);
transform-origin: 0% 100%;
}
.reveal-block.right.aos-animate::before {
transform: scaleX(1);
}
Это результат:
Выглядит отлично! Все, что осталось, – это скрыть элементы, появляющиеся перед прокруткой. Для этого мы добавим атрибут Data-AOS для .REVEAL-ДЕРЖАТЕЛЬ сорт:
...
И сопровождающие CSS:
[data-aos="reveal-item"] {
visibility: hidden;
transition-property: visibility;
transition-duration: 0s;
}
[data-aos="reveal-item"].aos-animate {
visibility: visible;
}
Упаковка
Прокрутка, вызванные анимацией, такие как блок, показывают эффекты, могут быть неподвижным и элегантным взаимодействием для выявления контента. Я надеюсь, что этот учебник помог вам узнать не только то, как выполняются эти анимации, но и понимание того, что именно происходит, чтобы сделать эту анимацию.
Живая демонстрация доступна на Кодепен . Я также создал Репозиторий GitHub с кодом. Счастливое кодирование!
Оригинал: “https://dev.to/kathykato/creating-reveal-effects-on-scroll-31o6”