Якорные элементы в AOS (Animate on Scroll) позволяют задавать
анимацию для конкретных элементов страницы, основываясь на их видимости
в окне браузера при прокрутке. Каждый элемент, который должен
анимироваться, помечается специальным атрибутом data-aos.
Пример базовой разметки:
<div data-aos="fade-up">
Контент с анимацией при появлении
</div>
Здесь fade-up — тип анимации, который
будет выполнен, когда элемент окажется в области видимости. Все анимации
в AOS выполняются на основе прокрутки, поэтому важно правильно
структурировать страницу, чтобы элементы появлялись постепенно.
AOS поддерживает несколько ключевых атрибутов, которые контролируют поведение анимации:
data-aos — задаёт тип анимации:
fade, fade-up, fade-down,
slide-up, zoom-in и другие.
data-aos-offset — смещение в
пикселях от нижней границы окна, после которого срабатывает
анимация.
<div data-aos="fade-left" data-aos-offset="200">Смещение 200px</div>
При значении 200 анимация начнётся, когда элемент будет
находиться на 200 пикселей выше нижней границы окна.
data-aos-delay — задержка перед
запуском анимации в миллисекундах.
<div data-aos="zoom-in" data-aos-delay="300">Задержка 300ms</div>data-aos-duration — длительность
анимации в миллисекундах.
<div data-aos="fade-up" data-aos-duration="1000">Анимация 1 секунда</div>data-aos-easing — кривые ускорения
анимации: linear, ease, ease-in,
ease-out, ease-in-out.
<div data-aos="fade-down" data-aos-easing="ease-in-out">Плавное появление</div>data-aos-anchor — задаёт якорный
элемент, относительно которого рассчитывается позиция для запуска
анимации.
<div id="section1"></div>
<div data-aos="fade-up" data-aos-anchor="#section1">Анимация относительно section1</div>
В этом случае элемент будет анимироваться не относительно окна
браузера, а относительно позиции элемента с
id="section1".
data-aos-anchor-placement — точка
запуска анимации относительно якоря: top-bottom,
center-bottom, top-center и другие.
<div data-aos="fade-right" data-aos-anchor="#section1" data-aos-anchor-placement="center-bottom">
Анимация при центровке элемента относительно нижней границы якоря
</div>Якорь — это элемент, относительно которого рассчитывается положение другого элемента для запуска анимации. Если якорь не задан, элемент анимируется по умолчанию относительно окна браузера. Использование якорей особенно важно при сложной верстке с секциями и параллакс-эффектами, когда визуальная последовательность элементов должна сохраняться независимо от высоты других блоков.
data-aos-offset
можно использовать вместе с якорем для точной настройки момента
появления анимации.data-aos-anchor-placement позволяет управлять точкой
отсчёта для анимации: начало, центр или конец якорного элемента.data-aos-delay и data-aos-duration.<section id="about">
<h2>О нас</h2>
</section>
<div data-aos="fade-up" data-aos-anchor="#about" data-aos-anchor-placement="top-bottom">
Контент, анимируемый при прокрутке к секции "О нас"
</div>
Здесь блок начнёт анимацию, когда верхняя граница секции
#about будет доходить до нижней границы окна.
<div data-aos="fade-up" data-aos-delay="0">Первый блок</div>
<div data-aos="fade-up" data-aos-delay="200">Второй блок</div>
<div data-aos="fade-up" data-aos-delay="400">Третий блок</div>
Использование задержки позволяет создавать эффект последовательного появления элементов.
<section id="features"></section>
<div data-aos="zoom-in" data-aos-anchor="#features" data-aos-offset="150" data-aos-duration="800">
Особенности продукта
</div>
Элемент начнёт увеличиваться, когда будет находиться на 150 пикселей
выше нижней границы секции #features, длительность анимации
— 800 мс.
data-aos-delay.offset) и точка
запуска (anchor-placement) могут вести себя иначе.AOS.refresh() после добавления новых элементов в DOM, чтобы
библиотека корректно определила их позиции.AOS.init({
once: true, // анимация срабатывает один раз
});
AOS.refresh(); // обновление при динамических изменениях DOM
data-aos — тип анимации.data-aos-offset — смещение запуска анимации.data-aos-delay — задержка анимации.data-aos-duration — длительность анимации.data-aos-easing — кривые ускорения.data-aos-anchor — элемент-ориентир для запуска
анимации.data-aos-anchor-placement — точка запуска относительно
якоря.Такая комбинация параметров позволяет гибко управлять анимацией элементов, делая прокрутку страницы более динамичной и визуально привлекательной.