Итак, в приведенном вами примере эффект достигается только путем изменения свойства animation-timing-function
css.
Тогда у вас будет только одна анимация
div {
width:100px;
height:100px;
background:red;
animation:rotate 3s infinite;
animation-timing-function: cubic-bezier(1,0,.5,1);
}
@-webkit-keyframes rotate {
from { -webkit-transform: rotate(0deg) }
to { -webkit-transform: rotate(360deg) }
}
<div></div>
Вы можете найти больше информации здесь: https://callmenick.com/dev/level-up-animations-cubic-bezier/
Но дело в том, что используйте только одну анимацию и изменяйте скорость под разными угламиизменение этого animation-timing-function
.
РЕДАКТИРОВАТЬ Добавлена более близкая функция синхронизации кубического Безье благодаря комментарию @SirExotic.