Cubic Bezier — это функция CSS, позволяющая создавать кривые Безье, описывающие изменение значения свойства CSS во времени. Это графический способ определения изменения значения свойства во времени, такого как анимации и переходы.
Функция cubic-bezier()
можно использовать, например, для контроля над тем, как изменяется прозрачность или положение элемента во времени при выполнении анимации или перехода. Она принимает четыре значения — две точки управления и две конечные точки — которые определяют форму кривой Безье.
Синтаксис функции:
cubic-bezier(x1, y1, x2, y2);
Значения x1
, y1
, x2
, y2
являются десятичными числами от 0 до 1 и определяют расположение точек на кривой Безье. Точки (0, 0)
и (1, 1)
соответствуют начальной и конечной точкам анимации, соответственно. Оставшиеся две точки — это точки управления, которые определяют форму кривой Безье.
Вот примеры использования функции cubic-bezier()
в CSS анимации:
.my-element {
animation: my-animation 2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@keyframes my-animation {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
В этом примере мы определили CSS класс .my-element
, который анимирует опасность элемента на протяжении 2 секунд, используя кривую Безье с параметрами 0.25
, 0.46
, 0.45
, и 0.94
. Мы также определили анимацию-ключевые кадры с помощью функции @keyframes
. Эта анимация запускается при загрузке страницы и устанавливает значение начальной точки анимации на opacity: 0
, а затем плавно изменяет значение вплоть до opacity: 1
в конечной точке.
Функция cubic-bezier()
— это мощный инструмент для создания более сложных анимаций и переходов. Ее сложность заключается в том, что располагать точки на кривой Безье интуитивно достаточно сложно, и ошибки могут привести к неочевидным результатам.