При работе с библиотекой AOS каждая анимация привязывается к элементу
через атрибут data-aos. Например:
<div data-aos="fade-up">Контент</div>
В реальных проектах часто требуется расширять стандартный набор анимаций и добавлять кастомные классы для управления стилями. В этом случае важно придерживаться единой схемы именования, чтобы код оставался читаемым и предсказуемым:
Префикс aos- — используется для
всех кастомных классов, связанных с анимацией. Это позволяет сразу
отличать стили, предназначенные для AOS, от других CSS-классов.
.aos-slide-left { ... }
.aos-fade-scale { ... }Описание действия — имя класса должно кратко
отражать тип анимации или её эффект. Например, slide-left,
fade-scale, zoom-in.
Модификаторы состояния — при необходимости указываются модификаторы через дефис, которые описывают особые варианты анимации:
.aos-fade-up--fast { animation-duration: 0.3s; }
.aos-slide-right--delayed { animation-delay: 0.5s; }Такой подход упрощает поиск классов в проекте и делает CSS более структурированным.
Кастомные классы должны быть логически сгруппированы в CSS или SCSS-файлах. Рекомендуется следующая структура:
Базовые анимации Все стандартные или модифицированные анимации без дополнительных эффектов:
.aos-fade-up { ... }
.aos-fade-down { ... }
.aos-slide-left { ... }
.aos-slide-right { ... }Модификаторы Отдельный блок для временных или визуальных изменений:
.aos-fade-up--fast { animation-duration: 0.4s; }
.aos-slide-left--slow { animation-duration: 1s; }
.aos-fade-down--delayed { animation-delay: 0.6s; }Комбинированные эффекты Для сложных анимаций, которые объединяют несколько действий:
.aos-fade-slide-left { ... }
.aos-zoom-fade { ... }Использование такой схемы упрощает поддержку кода и предотвращает дублирование анимаций.
Для применения кастомных классов важно правильно комбинировать
атрибут data-aos и CSS-классы. Примеры:
<div class="aos-slide-left aos-fade-scale" data-aos="fade-up">Элемент</div>
data-aos по-прежнему задаёт основной тип
анимации, управляемый библиотекой.aos-slide-left и
aos-fade-scale расширяют визуальный эффект через CSS.Можно также использовать модификаторы через класс:
<div class="aos-slide-left--fast" data-aos="slide-left">Быстрая анимация</div>
В этом примере стандартная анимация slide-left
ускоряется благодаря кастомному классу --fast.
// Базовые анимации
.aos-fade-up { opacity: 0; transform: translateY(20px); }
.aos-slide-left { opacity: 0; transform: translateX(-50px); }
// Модификаторы
.aos-fade-up--fast { animation-duration: 0.3s; }
.aos-slide-left--delayed { animation-delay: 0.5s; }
// Комбинированные эффекты
.aos-fade-slide-left { opacity: 0; transform: translateX(-50px) translateY(20px); }
Такое деление позволяет быстро добавлять новые эффекты, изменять параметры анимации и сохранять чистоту кода при масштабировании проекта.