Калькулятор CSS-анимаций
Анимации в веб-разработке
CSS-анимации и переходы придают интерфейсу живость и помогают пользователю понять, что происходит на экране. Правильно подобранные тайминги и кривые плавности делают взаимодействие интуитивным, а ошибки в них приводят к ощущению «тормозов» и раздражению.
CSS Transitions
Простейший способ анимации: задайте свойство, длительность и функцию плавности (easing). Браузер автоматически интерполирует значения при изменении состояния (hover, focus, класс). Подходит для кнопок, карточек, меню.
CSS @keyframes
Мощный механизм для сложных анимаций: определите промежуточные состояния (кадры) в процентах от 0% до 100%. Поддерживает несколько свойств одновременно, повторение, направление и задержку. Для лоадеров, появлений, сложных переходов.
Web Animations API
JavaScript API для программного управления анимациями. Позволяет ставить на паузу, менять скорость, реверсировать и синхронизировать анимации в реальном времени. Используется в сложных интерактивных сценах и играх.
Применение анимаций в интерфейсах
Продуманные анимации улучшают UX, помогают навигации и делают интерфейс запоминающимся.
Микровзаимодействия
Hover-эффекты кнопок, переключатели, чекбоксы, анимация иконок. Мгновенная обратная связь пользователю через визуальное изменение элемента при взаимодействии.
Появление контента
Fade-in при скролле, slide-in карточек, stagger-анимации списков. Плавное появление элементов создаёт ощущение скорости загрузки и направляет внимание.
Навигация и переходы
Переходы между страницами (View Transitions API), анимация модальных окон, раскрытие аккордеонов. Сохранение контекста при смене экрана.
Загрузка и ожидание
Скелетоны, спиннеры, прогресс-бары, пульсирующие placeholder. Анимации загрузки снижают воспринимаемое время ожидания на 20-40%.
Геймификация
Спрайтовые анимации персонажей, эффекты частиц при достижениях, анимированные бейджи. Игровые элементы повышают вовлечённость пользователей.
Дизайн-системы
Унифицированные motion-токены обеспечивают согласованность анимаций во всём продукте. Единые длительности, easing и задержки для всей команды.
Производительность анимаций/ 60fps руководство
Каждый кадр при 60fps должен укладываться в 16.67ms. Анимация CSS-свойств запускает разные этапы рендеринга: Layout (пересчёт геометрии), Paint (перерисовка пикселей) или Composite (GPU-композиция). Чем «легче» этап, тем плавнее анимация.
Composite (GPU) — самый быстрый
Свойства transform и opacity обрабатываются на GPU без пересчёта layout и paint. Это самые дешёвые анимации.
/* Предпочитайте transform и opacity */
.element { transition: transform 300ms ease-out, opacity 300ms ease-out; }Paint (перерисовка) — средний
Свойства background-color, box-shadow, color вызывают перерисовку пикселей, но не пересчёт геометрии. Используйте для несложных эффектов.
/* box-shadow лучше анимировать через псевдоэлемент + opacity */
.card::after { box-shadow: 0 8px 30px rgba(0,0,0,0.2); opacity: 0; transition: opacity 300ms; }Layout (пересчёт) — самый дорогой
Свойства width, height, margin, padding, top/left запускают полный пересчёт layout всех элементов. Избегайте их анимации.
/* Вместо анимации width используйте transform: scaleX() */
.bar { transform-origin: left; transition: transform 300ms ease-out; }
.bar.full { transform: scaleX(1); }will-change: подсказка браузеру о предстоящей анимации. Используйте will-change: transform перед анимацией, но убирайте после, чтобы не расходовать видеопамять.
contain: layout: ограничивает область пересчёта layout. Анимируемый элемент не будет влиять на соседние, что значительно снижает нагрузку.
Функции плавности (Easing)
Easing-функция определяет, как изменяется скорость анимации во времени. Правильный выбор easing делает движение естественным, а неправильный — механическим или раздражающим.
ease-out (замедление)
Элемент начинает движение быстро и постепенно замедляется. Идеален для входа элементов на экран: пользователь быстро видит начало анимации, а плавное замедление создаёт ощущение «мягкой посадки». Рекомендуется для большинства UI-анимаций.
ease-in (ускорение)
Элемент начинает медленно и набирает скорость. Применяется для выхода элементов с экрана: медленный старт даёт пользователю время заметить начало исчезновения, а быстрый финал не задерживает интерфейс.
ease-in-out (S-кривая)
Комбинация ускорения и замедления. Подходит для анимаций, где элемент остаётся на экране (перемещение, изменение размера). Создаёт ощущение плавного, «физичного» движения с разгоном и торможением.
cubic-bezier (кастомная)
Четыре числа (x1, y1, x2, y2) определяют форму кривой. Позволяет создавать эффекты «пружины» (overshoot), «упругости» (bounce) и любые нестандартные движения. Визуальный генератор помогает подобрать идеальную кривую.
Рекомендации по таймингу
Правильная длительность анимации зависит от контекста, расстояния перемещения и размера элемента.
1100-200ms: микровзаимодействия
Hover-эффекты, фокус-состояния, переключатели, чекбоксы. Короткие анимации воспринимаются мгновенно и не замедляют работу пользователя. Долгий hover раздражает при быстром перемещении мыши.
2200-400ms: стандартные переходы
Появление модальных окон, раскрытие меню, slide-in панелей. Золотая середина: достаточно быстро, чтобы не задерживать, и достаточно заметно, чтобы пользователь понял, что произошло.
3400-700ms: крупные анимации
Переходы между экранами, развёртывание карточек на весь экран, сложные трансформации. Чем больше расстояние перемещения, тем дольше должна быть анимация, чтобы глаз успел отследить движение.
4Stagger: 30-80ms между элементами
Каскадное появление списков и карточек. Задержка 50ms между элементами создаёт эффект «водопада». Слишком маленькая (менее 20ms) — незаметна, слишком большая (более 100ms) — затягивает загрузку.
Как пользоваться калькулятором
Шесть инструментов покрывают весь цикл работы с анимациями — от проектирования до оптимизации.
Подберите easing
Откройте вкладку Easing-функций. Выберите и сравните пресеты, настройте custom cubic-bezier. Скопируйте CSS-код подходящей кривой.
Создайте keyframes
Определите ключевые кадры с CSS-свойствами на нужных процентах. Генератор выдаст готовый @keyframes и animation shorthand.
Рассчитайте тайминг
Укажите расстояние и размер элемента. Получите рекомендованные длительности и stagger-задержки для списков.
Настройте спрайты
Задайте параметры спрайт-листа: кадры, FPS, размеры. Получите CSS для покадровой анимации с steps().
Проверьте бюджет
Выберите анимируемые свойства и количество элементов. Увидите, укладывается ли анимация в бюджет 60fps.
Экспортируйте токены
Сгенерируйте набор motion-токенов (длительности, easing, задержки) для CSS Custom Properties или JS.
Часто задаваемые вопросы
Похожие инструменты
Калькулятор движения снаряда (кинематика)
Моделирование траекторий с аэродинамическим сопротивлением, нелинейные колебания и анализ столкновений.
Калькулятор зарплаты (гросс/нет)
Зарплата на руки из оклада. НДФЛ 13%/15%/30%, страховые взносы, районные коэффициенты. Россия 2024-2025.
Калькулятор витаминов и минералов
Справочный калькулятор суточных норм витаминов (RDA) по полу и возрасту. Витамин D, C, железо и другие.
Калькулятор научного цитирования и библиографии
Генератор ссылок по ГОСТ Р 7.0.5-2008, APA, Chicago, MLA. Расчёт индекса Хирша, импакт-фактора журнала и РИНЦ-анализ для диссертаций (ВАК).
Калькулятор ROC и AUC (точность, чувствительность)
Построение ROC-кривой, расчет AUC и метрик классификации (Accuracy, F1, Recall, Precision).
Стоматологический калькулятор: КПУ, OHI-S, CPI, анестезия и протезирование
Стоматологические расчёты онлайн: индекс КПУ (DMFT), гигиена OHI-S, пародонтальный CPI, доза анестетика, стоимость протезирования, IOTN.
Калькулятор вреда курения
Узнайте, сколько лет жизни и денег вы теряете из-за сигарет. Мотиватор для отказа от курения.
Калькулятор идеального веса
Рассчитайте идеальный вес по формулам Devine, Robinson, Miller и Hamwi. Сравнение результатов и диапазон здорового веса по ИМТ.
Генератор случайных чисел
Рандомайзер чисел онлайн. Генерация случайных чисел в заданном диапазоне. Настройка количества и повторов.
Калькулятор шумового загрязнения: сложение дБ, экран, звукоизоляция Rw
Расчёты шумового загрязнения: сложение источников (дБ), затухание с расстоянием, звукоизоляция Rw (СП 51), шумозащитный экран, LAeq.
Конвертер систем счисления (Bin/Oct/Dec/Hex)
Перевод чисел между двоичной, восьмеричной, десятичной и шестнадцатеричной системами. Для программистов.
Калькулятор преобразования Фурье (DFT)
Дискретное преобразование Фурье онлайн. Спектральный анализ сигналов, построение спектра, оконные функции.
Калькулятор Cap Table (размытие долей)
Калькулятор капитализации стартапа. Рассчитайте размытие долей основателей и инвесторов по раундам (Seed, Series A).
Калькулятор аквариумистики: объём, вес, нагреватель, солёность
Калькулятор для аквариума: расчет объема (литры/галлоны), веса воды, подбор мощности нагревателя и расчет соли для морского аквариума.
Калькулятор композитных материалов
Расчёты композитов: правило смесей, ламинат, прочность Tsai-Hill, объём волокна, автоклав

Лиана Арифметова
Миссия: Демократизировать сложные расчеты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».
Отказ от ответственности
Только для информационных целей. Все расчёты, результаты и данные, предоставляемые данным инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.
Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.
Медицинские, финансовые и профессиональные решения должны приниматься исключительно на основании консультации с квалифицированными специалистами — врачом, финансовым советником, инженером или другим профессионалом в соответствующей области. Не используйте результаты данного инструмента как единственное основание для принятия важных решений.
Ограничение ответственности. Авторы и разработчики сервиса не несут никакой ответственности за прямой или косвенный ущерб, возникший в результате использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию и применение полученных результатов.