Анимации движения slide

Библиотека AOS (Animate on Scroll) предоставляет удобный способ создавать анимации появления элементов при прокрутке страницы. Одним из наиболее часто используемых эффектов является slide — смещение элементов с определённого направления с постепенным проявлением.

В AOS существует несколько вариантов анимации slide, которые определяются атрибутом data-aos:

  • slide-up — элемент появляется снизу и смещается вверх.
  • slide-down — элемент появляется сверху и смещается вниз.
  • slide-left — элемент появляется справа и смещается влево.
  • slide-right — элемент появляется слева и смещается вправо.

Каждая анимация плавно сочетает трансформацию положения и изменение прозрачности (opacity), создавая эффект «въезда» элемента в видимую область.

Подключение AOS

Для использования 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 // анимация срабатывает один раз при скролле
});

Настройка параметров slide

Каждый элемент, который должен анимироваться, получает атрибут 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>

Продвинутые техники

  1. Многократные анимации По умолчанию анимация срабатывает один раз. Для повторного эффекта при повторной прокрутке используется:
AOS.init({
  once: false
});
  1. Комбинация с другими эффектами Slide можно комбинировать с другими анимациями AOS, например, с 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>
  1. Контроль видимости через offset Использование data-aos-offset позволяет запускать анимацию до того, как элемент полностью войдёт в видимую область, что создаёт динамический эффект движения страницы.

Практические советы

  • Для плавности интерфейса рекомендуется использовать одинаковое значение duration для элементов, входящих в один блок.
  • Для последовательной анимации элементов списка или галереи удобно задавать data-aos-delay с шагом 100–200 мс.
  • Slide-анимации лучше использовать для блоков с текстом, изображениями и карточками, так как они создают естественный визуальный поток.

Стилизация элементов

Хотя 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 позволяют создавать динамичные страницы с минимальным количеством кода, сохраняя плавность и отзывчивость интерфейса. Они эффективно работают как для отдельных элементов, так и для сложных последовательностей с множеством блоков, обеспечивая современный и привлекательный визуальный опыт.