Библиотека AOS (Animate on Scroll) предоставляет удобный способ создавать анимации появления элементов при прокрутке страницы. Одним из наиболее часто используемых эффектов является slide — смещение элементов с определённого направления с постепенным проявлением.
В AOS существует несколько вариантов анимации slide, которые
определяются атрибутом data-aos:
Каждая анимация плавно сочетает трансформацию положения и изменение прозрачности (opacity), создавая эффект «въезда» элемента в видимую область.
Для использования slide-анимаций необходимо подключить библиотеку:
<link href="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/aos@2.3.4/dist/aos.js"></script>
Инициализация происходит с помощью Jav * aScript:
AOS.init({
duration: 1200, // продолжительность анимации в миллисекундах
easing: 'ease-in-out', // функция сглаживания
once: true // анимация срабатывает один раз при скролле
});
Каждый элемент, который должен анимироваться, получает атрибут
data-aos. Для slide-анимаций это выглядит так:
<div data-aos="slide-up">Слайд вверх</div>
<div data-aos="slide-down">Слайд вниз</div>
<div data-aos="slide-left">Слайд влево</div>
<div data-aos="slide-right">Слайд вправо</div>
Дополнительно можно управлять поведением анимации через опции:
data-aos-offset — смещение в пикселях от точки запуска
анимации. Например, data-aos-offset="200" заставит элемент
начинать анимацию за 200px до попадания в область видимости.data-aos-delay — задержка перед запуском в
миллисекундах, например, data-aos-delay="300".data-aos-duration — индивидуальная длительность
анимации элемента.data-aos-easing — функция сглаживания движения
(например, ease, ease-in,
ease-out).Пример комбинированного использования:
<div data-aos="slide-left" data-aos-offset="100" data-aos-delay="200" data-aos-duration="1000" data-aos-easing="ease-out">
Анимированный элемент
</div>
AOS.init({
once: false
});
fade
через CSS-классы или последовательное подключение элементов:<div data-aos="slide-up" data-aos-delay="100">Элемент 1</div>
<div data-aos="slide-up" data-aos-delay="300">Элемент 2</div>
<div data-aos="slide-up" data-aos-delay="500">Элемент 3</div>
data-aos-offset позволяет запускать анимацию до того, как
элемент полностью войдёт в видимую область, что создаёт динамический
эффект движения страницы.data-aos-delay с шагом 100–200 мс.Хотя AOS управляет анимацией через inline стили при скролле, предварительная CSS-подготовка улучшает визуальный результат:
[data-aos] {
opacity: 0;
transform: translate3d(0, 50px, 0);
transition-property: transform, opacity;
}
[data-aos].aos-animate {
opacity: 1;
transform: translate3d(0, 0, 0);
}
Это особенно полезно для совместимости с другими библиотеками и кастомными эффектами, когда требуется точный контроль над движением.
Slide-анимации в AOS позволяют создавать динамичные страницы с минимальным количеством кода, сохраняя плавность и отзывчивость интерфейса. Они эффективно работают как для отдельных элементов, так и для сложных последовательностей с множеством блоков, обеспечивая современный и привлекательный визуальный опыт.