ikonkov
@ikonkov

Как плавно увеличить скорость анимации?

Привет Хабр! Неожиданно столкнулся с проблемой, уже казалось что ничего неизведанного в CSS не осталось, однако...
Есть элемент который крутится по кругу с помощью CSS анимации
@keyframes rotation {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(359deg);
    }
}

.circle {
        width: 188px;
        height: 188px;
        background: url(../imgs/youtube-circle.svg);
        animation-name: rotation;
        animation-timing-function: linear;
        animation-duration: 20s;
        animation-iteration-count: infinite;
        position: absolute;
        top: 0;
        left: 0;
        transition: all .3s ease;
}

.circle:hover {
    animation-duration: 5s;
}


Необходимо чтобы при наведении скорость увеличивалось, ускоряю уменьшением animation-duration. Но при наведении перед изменением скорости происходит скачок, как будто сбрасывается transform на исходное значение.
Вот как это происходит https://disk.yandex.ru/i/U9SwafVorEFhOw
Возможно ли как то плавно ускорить кручение избежав этого рывка
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
RAX7
@RAX7
Свойство animation-duration неанимируемое. И да, придется писать костыль на js
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы