Генератор CSS-ключевых кадров
Правило @keyframes определяет опорные точки анимации: как элемент выглядит в начале, середине и конце. Этот генератор пишет правило для четырёх распространённых движений: fade-slide, pulse, spin и bounce. Дайте анимации имя, задайте длительность и, для движений скольжения и отскока, расстояние в пикселях. Результат это сокращённая запись animation плюс блок @keyframes, готовые для вставки в таблицу стилей.
Как создать ключевые кадры
-
1
Выберите тип анимации
Fade slide, pulse, spin или bounce. Каждый пресет поставляется с готовыми кадрами.
-
2
Дайте анимации имя
Имя в kebab-case, например `fade-slide`, которое затем используется в сокращённой записи `animation`.
-
3
Задайте длительность
В секундах, например 0.6 для быстрого перехода.
-
4
Задайте расстояние (slide и bounce)
Расстояние в пикселях, используемое для вертикального движения.
-
5
Скопируйте CSS
Сокращённая запись плюс блок `@keyframes`, готовые для вашей таблицы стилей.
Четыре пресета
Fade slide
.animated {
animation: fade-slide 0.6s ease both;
}
@keyframes fade-slide {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}
Элемент проявляется, скользя снизу вверх.
Pulse
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.05); opacity: .8; }
}
Мягкий эффект дыхания, хорошо подходит для точек уведомлений и бейджей.
Spin
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
Полный оборот, полезен для индикаторов загрузки и иконок.
Bounce
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-24px); }
}
Элемент подпрыгивает вверх и возвращается.
Почему transform и opacity?
Браузеры композитят transform и opacity на GPU без пересчёта раскладки и перерисовки, поэтому их анимация остаётся плавной. Пресеты намеренно избегают свойств, запускающих пересчёт раскладки.
Сокращённая запись animation
animation: fade-slide 0.6s ease both; читается так: анимация с именем fade-slide, длительностью 0.6 секунды, с функцией плавности ease по умолчанию. Режим заполнения both применяет начальное состояние до старта анимации и сохраняет конечное состояние после её завершения, поэтому элемент не мигает до движения и не дёргается назад после него.
Правила именования
- Используйте kebab-case, следуя конвенции CSS.
- Описывайте движение, а не элемент:
fade-in-upлучше, чемalert-appear. - Избегайте имён, которые могут конфликтовать со сторонними библиотеками.
Поддержка браузеров
@keyframes универсален и поддерживается всеми браузерами начиная с IE 10.
Часто задаваемые вопросы
Fade slide для контента, входящего на страницу: карточек, баннеров, диалогов. Pulse для точек внимания, бейджей и кнопок, которые должны выделяться. Spin для индикаторов загрузки и иконок прогресса. Bounce для игривого акцента, например стрелки призыва к действию.
Расстояние это вертикальный путь в пикселях для пресетов slide и bounce: анимация fade-slide начинается на 24px ниже и скользит вверх, bounce подпрыгивает на 24px вверх и возвращается. Пресет spin его не использует.
Да, результат это чистый CSS. Замените ease на любое ключевое слово плавности или значение cubic-bezier(...) и добавьте промежуточные проценты, например 25% или 75%, внутрь блока @keyframes, чтобы точнее оформить движение.
Потому что повторный рендер фреймворка может заново применить класс и перезапустить анимацию. Используйте animation-fill-mode: both (он уже в результате), чтобы удерживать конечное состояние, либо отвяжите триггер анимации от повторно рендерящегося элемента.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор цветовой палитры
Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.