Содержание
  1. Что такое Cubic-Bezier?
  2. Как это работает
  3. Примеры использования функции Cubic-Bezier
  4. Инструменты для создания кривых
  5. Заключение
ГайдыОбновлено · 02.2025

Продвинутая CSS-анимация с использованием функции Cubic-Bezier()

30 мая 2024 · 4 минуты чтения

CSS-анимации стали неотъемлемой частью современного веб-дизайна, позволяя создавать более живые и привлекательные интерфейсы. Одним из наиболее мощных инструментов для управления анимацией является функция cubic-bezier(). В этой статье мы рассмотрим, что такое Cubic-Bezier, как с ее помощью можно создать сложные анимации и управлять их временными характеристиками (дадим примеры).

Что такое Cubic-Bezier?

cubic-bezier() — это функция в CSS, которая позволяет создавать пользовательские кривые для анимаций. Эти кривые используются для определения темпа изменения свойств эффектов во времени. Функция принимает четыре параметра, каждый из которых представляет собой координату точки на двумерной плоскости, и рисует по ним фигуру/траекторию движения.

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

Функция cubic-bezier() задается четырьмя значениями, которые представляют собой две контрольные точки: (x1, y1, x2, y2). Первая точка влияет на начальную часть движения, а вторая — на конечную.

Основные параметры:

  • x1 и x2: координаты по оси X. Эти значения должны находиться в диапазоне от 0 до 1.
  • y1 и y2: координаты по оси Y. Эти значения могут выходить за пределы диапазона от 0 до 1.

Примеры использования функции Cubic-Bezier

Создание базовой анимации с помощью Cubic-Bezier

Рассмотрим пример, в котором элемент перемещается слева направо с использованием кривой Безье.

.element {

animation: move 2s cubic-bezier(0.25, 0.1, 0.25, 1);

}

@keyframes move {

from {

transform: translateX(0);

}

to {

transform: translateX(100px);

}

}

В данном примере анимация будет плавно ускоряться и замедляться в соответствии с заданными контрольными точками.

Сравнение различных кривых Безье

Для более полного понимания возможностей cubic-bezier(), рассмотрим несколько различных кривых и их влияние на движения.

Кривая Безье Описание Пример использования
cubic-bezier(0.25, 0.1, 0.25, 1) Плавное ускорение и замедление Аналог ease
cubic-bezier(0, 0, 1, 1) Линейное изменение скорости Аналог linear
cubic-bezier(0.42, 0, 0.58, 1) Быстрое ускорение и замедление Динамика
cubic-bezier(0.68, -0.55, 0.27, 1.55) Перебор и обратное движение Эффект «упругости»

ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
ТОП-подарки всем участникам лекции:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!

Создание сложной анимации

С помощью cubic-bezier() можно создать более сложные эффекты, комбинируя несколько анимаций.

.element {

animation: complexMove 3s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite alternate;

}

@keyframes complexMove {

0% {

transform: translateX(0);

}

50% {

transform: translateX(100px) scale(1.2);

}

100% {

transform: translateX(200px);

}

}

В этом примере элемент будет перемещаться и масштабироваться с эффектом «упругости», создавая запоминающиеся эффекты.

Инструменты для создания кривых

Cubic-Bezier.com

Cubic-Bezier.com — это удобный онлайн-инструмент для создания и настройки кривых Безье. Вот как им пользоваться:

  1. Интерфейс: в верхней части экрана вы увидите четыре ползунка для настройки значений x1, y1, x2 и y2.
  2. Визуализация: права отображается график кривой, который изменяется в реальном времени по мере настройки ползунков.
  3. Код: внизу отображается CSS-код с текущими значениями функции cubic-bezier().
  4. Пример: нажмите на кнопку «Animate» для просмотра примера анимации с текущими настройками.

CSS Easing Functions Cheat Sheet

Этот инструмент предлагает предустановлсенные кривые и позволяет быстро копировать их значения в ваш проект. Он особенно полезен, когда вам нужно быстро найти подходящую кривую для стандартных анимаций.

Ceaser

Ceaser предлагает интуитивно понятный интерфейс для создания и тестирования кривых Безье. Вы можете легко регулировать контрольные точки и наблюдать за результатами в реальном времени. Ceaser также позволяет экспортировать созданные кривые в виде CSS-кода.

Заключение

Использование функции cubic-bezier() в CSS открывает широкие возможности для создания сложных и впечатляющих эффектов. Понимание принципов работы кривых Безье и умение их применять на практике позволяет дизайнерам и разработчикам значительно улучшать пользовательский интерфейс, делая его более интерактивным и приятным.

РОССИЙСКИЕ НЕЙРОСЕТИ ДЛЯ ЖИЗНИ И КАРЬЕРЫ В 2025
Присоединяйся к онлайн-вебинару.
В прямом эфире разберем и потестируем лучшие на сегодняшний день отечественные ИИ!
Вы узнаете о том:
  • Выполним базовые задачи на российских нейросетях и посмотрим на результаты!
  • Файл-инструкцию «Как сделать нейро-фотосессию из своего фото бесплатно, без иностранных карт и прочих сложностей»
  • Покажем 10+ способов улучшить свою жизнь с ИИ каждому — от ребенка и пенсионера до управленца и предпринимателя
Участвовать бесплатно
ОБЗОРНЫЙ ПРАКТИКУМ ПО НАШУМЕВШИМ НЕЙРОСЕТЯМ
Нейросети DEEPSEEK И QWEN
За 2 часа сделаем полный обзор новых мощных ИИ-моделей, которые бросают вызов нейросети ChatGPT
Вы узнаете:
  • Возможность получить Доступ в Нейроклуб на целый месяц
  • Как ИИ ускоряет работу и приносит деньги
  • За 2 часа вы получите четкий план, как начать работать с ИИ прямо сейчас!
Участвовать бесплатно

Читайте также

3 материала