我创建了一个简单的反弹动画,将其应用于元素的:hover
状态:
@keyframes bounce {
0% {
top: 0;
animation-timing-function: ease-out;
}
17% {
top: 15px;
animation-timing-function: ease-in;
}
34% {
top: 0;
animation-timing-function: ease-out;
}
51% {
top: 8px;
animation-timing-function: ease-in;
}
68% {
top: 0px;
animation-timing-function: ease-out;
}
85% {
top: 3px;
animation-timing-function: ease-in;
}
100% {
top: 0;
}
}
.box:hover {
animation: bounce 1s;
}
动画效果很棒,唯一的问题是当鼠标离开元素时它会突然停止。是否有办法强制其继续执行预设的迭代次数,即使鼠标已经退出?基本上我在这里寻找的是通过:hover状态触发的动画效果,而不是javascript解决方案。我没有看到规范中任何可以实现这一点的方法,但也许我错过了一个显而易见的解决方案?这里有一个可供尝试的示例:http://jsfiddle.net/dwick/vFtfF/