Я сделал анимацию в css, она работает нормально, но я хочу, чтобы она задержала или завершила свой цикл, если мышь не наведена на элемент, см. Фрагмент ниже.Я пробовал некоторые решения из Интернета как элемент transition: all 0s ease 1s;
до :before
, но он вообще не работает.
Мой код
.upvote, .downvote {
position: absolute;
font-size: 40px;
transition: 0.15s ease-in-out;
}
.upvote:before {
transition: all 0s ease 1s;
}
.upvote:hover:before {
transition: all 0s ease 5s;
font-family: "Font Awesome 5 Free";
content: '\f106';
font-weight: 900;
position: absolute;
top: 1px;
color: #28a745;
animation: upvote 1.3s linear infinite;
animation-delay: 0.5s;
}
@keyframes upvote {
0% {
transform: translate(0, 0);
}
50% {
opacity: 0.5;
}
80% {
transform: translate(0, -30px);
opacity: 0;
}
99% {
transform: translate(0, -30px);
opacity: 0;
}
100% {
transform: translate(0, 0);
opacity: 0;
}
}
.downvote:hover:before {
font-family: "Font Awesome 5 Free";
content: '\f107';
font-weight: 900;
position: absolute;
top: 1px;
color: #dc3545;
animation: downvote 1.3s linear infinite;
animation-delay: 0.5s;
}
@keyframes downvote {
0% {
transform: translate(0, 0);
}
50% {
opacity: 0.5;
}
80% {
transform: translate(0, 30px);
opacity: 0;
}
99% {
transform: translate(0, 30px);
opacity: 0;
}
100% {
transform: translate(0, 0);
opacity: 0;
}
}
<link href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" rel="stylesheet"/>
<div class="upvote">
<i class="fa fa-angle-up"></i>
</div>
<div class="downvote">
<i class="fa fa-angle-down"></i>
</div>