Библиотека AOS (Animate on Scroll) предназначена для создания анимаций при прокрутке страницы. Одним из ключевых эффектов является изменение прозрачности (opacity), которое позволяет плавно проявлять элементы при появлении в области видимости.
Каждый анимируемый элемент в HTML должен содержать атрибут
data-aos, определяющий тип анимации. Например:
<div data-aos="fade-up">Содержимое блока</div>
В данном случае применяется эффект fade-up, который совмещает перемещение вверх с постепенным проявлением (увеличением opacity от 0 до 1).
data-aos-duration – задаёт длительность анимации в
миллисекундах (по умолчанию 400 мс).
<div data-aos="fade-in" data-aos-duration="1000">Пример</div>data-aos-delay – задержка перед запуском
анимации.
<div data-aos="fade-up" data-aos-delay="300">Отложенная анимация</div>data-aos-offset – расстояние в пикселях от нижнего
края окна браузера, при котором срабатывает анимация.
<div data-aos="fade-left" data-aos-offset="200">Отступ для срабатывания</div>AOS предоставляет несколько предустановленных анимаций, где ключевым элементом является opacity:
fade – простое появление с плавным изменением прозрачности.
<div data-aos="fade">Появление без движения</div>fade-up, fade-down, fade-left, fade-right – сочетание смещения с изменением opacity.
<div data-aos="fade-right" data-aos-duration="800">Эффект движения вправо</div>zoom-in, zoom-out – масштабирование с одновременным проявлением.
<div data-aos="zoom-in" data-aos-duration="1200">Масштабирование с появлением</div>Для более детальной настройки можно использовать
CSS-переменные и классы, создаваемые AOS. Каждый
элемент при инициализации получает класс aos-animate при
активации анимации. Исходная прозрачность определяется стандартным
классом .aos-init. Пример:
.my-element.aos-init {
opacity: 0;
transform: translateY(20px);
}
.my-element.aos-animate {
opacity: 1;
transform: translateY(0);
transition: opacity 1s ease, transform 1s ease;
}
Таким образом, можно самостоятельно управлять кривыми перехода и
продолжительностью анимации, выходя за рамки стандартных атрибутов
data-aos.
Инициализация библиотеки позволяет задать глобальные параметры, влияющие на все элементы:
AOS.init({
offset: 100, // смещение срабатывания
duration: 600, // длительность по умолчанию
easing: 'ease-in-out', // кривая анимации
once: true, // воспроизводить анимацию один раз
mirror: false, // повтор анимации при прокрутке вверх
});
data-aos-offset,
применяется ко всем элементам без индивидуальной настройки.data-aos-duration.linear, ease-in, ease-out,
ease-in-out и другие.Для создания сложных эффектов возможно комбинировать разные свойства: смещение, прозрачность, масштаб, задержку и длительность. Например:
<div
data-aos="fade-up"
data-aos-duration="1000"
data-aos-delay="200"
data-aos-offset="150">
Комплексная анимация
</div>
Такой подход позволяет создавать динамичные интерфейсы, где элементы плавно проявляются и перемещаются одновременно, что делает страницу визуально привлекательной и интерактивной.
Правильное использование opacity позволяет не перегружать страницу анимациями и обеспечивать плавность визуальных переходов, делая интерфейс более лёгким для восприятия.