У меня есть устойчивая подпрыгивающая анимация на иконке, которая повторяется очень часто.При наведении курсора на значок я хочу, чтобы анимация плавно завершилась до того, как она была приостановлена.
Однако, как бы я ни старался, я нахожу это на удивление трудным для выполнения.Либо элемент останавливается на месте, либо переход в завершенное состояние не является плавным.
animation-play-state: paused
остановит анимацию на месте, но я хочу, чтобы она сначала завершилась animation: none
удаляет анимацию, которая сбрасывает элемент в его положение по умолчанию, но это не плавный переход transition: <stuff>
, кажется, плавно не переводит значок в его состояние по умолчанию animation-iteration-count: 1
при наведении на себя ведет себя непоследовательно, иногда делает то, что я хочу, а иногда нет
Как я могу настроить его так, чтобы при наведении курсора на значок анимация сначала заканчивалась перед остановкой?Я чувствую, что упускаю что-то очевидное, но попал в несколько тупиков.
Вот примерный код, который я использую.
@keyframes bounce {
0% { right: 0; }
10% { right: 0.5em; }
20% { right: 0; }
30% { right: 0.5em; }
40% { right: 0; }
100% { right: 0; }
}
.container {
padding: 2rem;
}
.icon {
position: relative;
animation-name: bounce;
animation-duration: 4s;
animation-iteration-count: infinite;
}
.container:hover .icon {
animation-play-state: paused;
}
<div class="container">
<span class="icon">></span> Some text
</div>