CSS Бесплатно, без регистрации

Генератор cubic-bezier

Перетаскивайте две точки на графике или вводите значения — кривая и анимация обновляются сразу, а ниже появляется готовый transition с cubic-bezier().

Результат
Готовый CSS-код
.element {
  transition: transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1);
}

Как пользоваться

  1. Выберите пресет (ease, ease-out, easeOutBack и др.) или начните со стандартной кривой.
  2. Перетащите красную и фиолетовую точки на графике или введите x1, y1, x2, y2 в полях. С клавиатуры: выделите точку и двигайте стрелками (Shift — мелкий шаг).
  3. Задайте длительность и эталонную кривую (linear, ease…) и нажмите «Запустить»: синий блок едет по вашей кривой, серый — по эталонной.
  4. Нажмите «Копировать» и вставьте transition в свой CSS.

Как это работает

Что означает cubic-bezier()

cubic-bezier(x1, y1, x2, y2) описывает кривую Безье, которая начинается в точке (0, 0) и заканчивается в (1, 1). По горизонтали откладывается время, по вертикали — доля выполненного изменения. Четыре числа — координаты двух контрольных точек: P1 «тянет» кривую в начале, P2 — в конце. Чем круче кривая, тем быстрее движение в этот момент.

transition: transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1);

Ключевые слова — это готовые кривые

Каждое ключевое слово — сокращение для фиксированного cubic-bezier(): ease — cubic-bezier(0.25, 0.1, 0.25, 1), ease-in — (0.42, 0, 1, 1), ease-out — (0, 0, 0.58, 1), ease-in-out — (0.42, 0, 0.58, 1), linear — (0, 0, 1, 1). При этом ease — значение по умолчанию для transition-timing-function и animation-timing-function.

transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); /* = ease-in-out */

Перелёт: y за пределами 0..1

Значения x должны оставаться в диапазоне 0..1, а y может выходить за него. Тогда свойство «перелетает» цель и возвращается — получается эффект back, например cubic-bezier(0.34, 1.56, 0.64, 1). Он хорош для transform и масштаба, но бесполезен для свойств, которые не выходят за свой диапазон, например opacity.

transition: transform 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

Где применять кривую

Задавайте кривую в transition или animation для всей анимации либо внутри @keyframes — отдельно для каждого отрезка. Для плавных 60 кадров в секунду анимируйте transform и opacity. Несколько отскоков одной кривой cubic-bezier не сделать — для этого используйте keyframes или функцию linear().

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

Почему x1 и x2 должны быть от 0 до 1?

Ось x — это время, а время не идёт назад. cubic-bezier() с x вне диапазона 0..1 недопустим, и браузер отбрасывает всё объявление. Генератор ограничивает x за вас.

Может ли y быть меньше 0 или больше 1?

Да. Если y меньше 0, анимация сначала идёт в обратную сторону (замах), если больше 1 — перелетает цель. Заметно это только у числовых свойств, которые принимают такие значения, например у transform.

Чем cubic-bezier() отличается от steps()?

cubic-bezier() даёт плавное непрерывное изменение, а steps() — скачки между заданным числом положений. Его используют для спрайтовой анимации и эффекта печатной машинки.

Какую кривую выбрать для интерфейса?

Обычно ease-out подходит для появляющихся элементов (быстрый старт, мягкая остановка), ease-in — для исчезающих, ease-in-out — для перемещения по экрану. Укладывайтесь в 150–400 мс.

Эта тема в курсе HTML и CSS

Другие CSS-инструменты

Генератор CSS-градиента Linear, radial и conic градиенты: выберите цвета, угол и точки — скопируйте готовый код. Генератор и песочница Flexbox Пробуйте flex-свойства контейнера и элементов: направление, выравнивание, отступы и готовый CSS. Генератор CSS Grid Задайте колонки и строки, отступы и выравнивание — скопируйте готовый код сетки. Генератор CSS box-shadow Тени для блоков: смещение, размытие, цвет и слои — скопируйте готовый код box-shadow. Генератор SVG-анимации Выберите фигуру и эффект — получите SVG и CSS keyframes для вставки на страницу. Калькулятор специфичности CSS Впишите селекторы — увидите вес (a,b,c), цветной разбор и то, какое правило победит. Визуализатор блочной модели CSS Content, padding, border и margin в виде схемы как в DevTools — и готовый CSS-код. Генератор CSS transform Сдвиг, поворот, масштаб и наклон элемента с исходной позицией на превью — и готовый код. Калькулятор CSS clamp() Введите мин. и макс. размер шрифта и ширину экрана — получите готовый clamp() для плавной типографики. Проверка контраста цветов (WCAG) Проверьте контраст текста и фона по WCAG AA и AAA и исправьте неподходящую пару цветов. Генератор CSS clip-path Полигоны, срезанные углы, стрелки и круги: перетаскивайте точки на превью и копируйте готовый CSS. Генератор CSS Glassmorphism Эффект матового стекла: backdrop-filter blur, насыщенность, световая грань и готовый CSS. Генератор CSS border-radius (Blob) Органические формы и 8-значный border-radius: настраивайте горизонтальные и вертикальные радиусы. Визуализатор CSS Stacking Context и z-index Почему z-index: 9999 не работает? Наглядный 3D-разбор контекстов наложения, opacity, transform и isolation. Генератор CSS aspect-ratio и object-fit Конец сплющенным картинкам и прыжкам верстки (CLS): подбор пропорций aspect-ratio и точка фокуса object-fit. Студия CSS-фильтров Фотоэффекты без графических редакторов: blur, contrast, hue-rotate, sepia и трендовые Instagram-пресеты. Генератор OKLCH и палитр CSS Color 4 Идеально равномерная яркость для глаз и сочные цвета Display P3: подбор OKLCH, шкалы дизайн-систем и конвертация. Генератор CSS Scroll-driven Animations Анимации при скролле без JavaScript: свойства animation-timeline scroll() и view(), полоса чтения и плавное появление карточек. Генератор CSS Container Queries (@container) Конец привязке к экрану: компонент адаптируется к ширине своего родителя. Ресайз контейнера и правила @container вживую.
WhatsApp