【发布时间】:2021-08-22 16:27:42
【问题描述】:
我在一个 div 上有这个动画。我想要的是当页面加载时,它应该动画一次。当我将鼠标悬停在它上面时,它应该再次动画。
动画在悬停或加载时效果很好。但是当我尝试两种方式(如我的示例中)时,它不起作用。为什么它不起作用?
我也尝试过在悬停时再次定义动画,而不是只输入animation-play-state: running,但这也不起作用。当我在 chrome 开发工具中查看它并强制将鼠标悬停在 box 元素上时,我可以看到选择器在那里,但动画什么也没做。
同样令人好奇的是,当我使用animation: test 1s infinite; 将悬停动画设置为无限时,它就可以工作了。当我希望它运行一次时它就不起作用了。
@keyframes test {
0% {
transform: scale(1);
}
25% {
transform: scale(1.25);
}
80% {
transform: scale(0.85);
}
100% {
transform: scale(1);
}
}
.box {
width: 300px;
height: 300px;
background-color: black;
display: block;
animation: test 1s;
}
.box:hover {
animation: test 1s;
}
<div class="box"></div>
【问题讨论】:
标签: html css svg css-animations