Блог · Дизайн
21 ноября 2026

Микроанимации,
которые не бесят

Где анимация реально помогает интерфейсу, а где — просто раздражает и тормозит.

Коротко
  • Хорошая анимация объясняет, что произошло — например, откуда появилось выпадающее меню, а не просто украшает
  • Комфортная длительность для большинства UI-переходов — 150-300 миллисекунд
  • Анимируйте transform и opacity — браузер считает их на GPU, без пересчёта layout всей страницы
  • Учитывайте prefers-reduced-motion — часть пользователей отключает анимации в настройках ОС осознанно
01 / Зачем

Зачем вообще анимация в интерфейсе

Не украшение, а объяснение

Хорошая микроанимация — это не «красиво», а способ объяснить пользователю, что произошло: откуда появилось меню, куда делась карточка после удаления, что кнопка отреагировала на клик. Мозг легче воспринимает плавные переходы, чем мгновенные скачки состояния интерфейса.

Плохая анимация — противоположность: она задерживает пользователя там, где он просто хочет быстро выполнить действие, и превращается в раздражающее препятствие при частом использовании.

02 / Уместность

Где анимация уместна, а где — нет

Правило простое: чем чаще действие, тем короче анимация

УместноОткрытие меню, появление уведомления, переход между состояниями кнопки
РаздражаетДолгая анимация на действии, которое пользователь делает десятки раз в день — например, на каждой карточке списка
УместноОбратная связь на ошибку — лёгкая тряска поля с неверными данными
РаздражаетАнимация загрузки текста статьи «буква за буквой» — просто медленнее, чем показать сразу
03 / Дизайн

Дизайн анимации

Не всё, что можно анимировать в CSS, стоит анимировать

Анимация transform и opacity обрабатывается GPU отдельно от остального рендеринга страницы — плавно даже на слабых устройствах. Анимация width, height, top или left заставляет браузер пересчитывать расположение всех соседних элементов на каждом кадре — это заметно медленнее и может «дёргаться».

/* быстро — использует GPU */
.card { transition: transform .2s, opacity .2s; }
.card:hover { transform: translateY(-4px); }

/* медленно — пересчитывает layout */
.card { transition: top .2s, width .2s; }
04 / Уважение

Уважение к выбору пользователя

prefers-reduced-motion — не экзотика, а реальная настройка ОС

Некоторые пользователи осознанно отключают анимации в настройках операционной системы — например, из-за вестибулярных нарушений, которые вызывает движение на экране. Хороший сайт учитывает это через медиа-запрос prefers-reduced-motion и упрощает или отключает анимации для таких пользователей.

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
05 / FAQ

Частые вопросы

Короткие ответы на главное

Какая длительность анимации считается комфортной?

Для большинства UI-переходов — 150-300 миллисекунд. Короче кажется резким, длиннее — тормозит интерфейс и раздражает при частом использовании.

Что такое prefers-reduced-motion?

Настройка ОС, которую можно включить, если анимации вызывают дискомфорт (например, при вестибулярных нарушениях). Сайт может её учитывать через одноимённый CSS-медиазапрос и отключать анимации для таких пользователей.

Какие CSS-свойства анимировать безопаснее всего для производительности?

transform и opacity — браузер анимирует их на GPU, не пересчитывая layout всей страницы. Анимация width, height или top/left работает заметно медленнее.

Хотите сайт с продуманными деталями?

Сделаем интерфейс с анимацией, которая помогает, а не раздражает.