В предыдущем задании обсуждалось ключевое слово ease-out которое описывает изменение анимации, которое ускоряется сначала, а затем замедляется в конце анимации. Справа показана разница между ключевым словом ease-out (для синего элемента) и linear ключевым словом (для красного элемента). Подобные анимационные прогрессии к ease-out ключевому слову могут быть достигнуты с помощью пользовательской кубической функции кривой Безье. В общем случае изменение опорных точек p1 и p2 приводит к созданию различных кривых Безье, которые контролируют ход анимации во времени. Вот пример кривой Безье с использованием значений, имитирующих стиль непринужденности: animation-timing-function: cubic-bezier(0, 0, 0.58, 1); Помните, что все функции cubic-bezier начинаются с p0 at (0, 0) и заканчиваются p3 в (1, 1). В этом примере кривая движется быстрее по оси Y (начинается с 0, переходит в p1 y значение 0, затем переходит в значение p2 y 1), чем она перемещается по оси X (0 для начала, затем 0 для p1 , до 0,58 для p2 ). В результате изменение анимированного элемента происходит быстрее, чем время анимации для этого сегмента. К концу кривой соотношение между изменением значений x и y меняется на противоположное - значение y перемещается от 1 до 1 (без изменений), а значения x перемещаются от 0,58 до 1, что делает изменения анимации медленнее по сравнению с продолжительность анимации.
Чтобы увидеть эффект этой кривой Безье в действии, измените animation-timing-function элемента с id red на функцию cubic-bezier с значениями x1, y1, x2, y2, установленными соответственно 0, 0, 0.58, 1 Это заставит оба элемента продвигаться по анимации аналогичным образом.