给定如下的CSS3动画...
<style type="text/css" media="screen">
.drop_box {
-webkit-animation-name: drop;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
}
@-webkit-keyframes drop {
from {
-webkit-transform: translateY(0px);
}
to {
-webkit-transform: translateY(100px);
}
}
</style>
<div class="drop_box">
Hello world
</div>
Hello World的文字按预期下降了100px进行动画。然而,在动画结束时,它会跳回到原来的位置。
显然在CSS领域这很有道理。动画已经应用并且不再影响元素,因此原始样式起作用。但对我来说似乎有点奇怪 - 如果正在将元素动画放置到位,那么人们肯定希望该位置保持不变呢?
是否有任何方法使结束位置“粘性”,而无需诉诸JavaScript来在动画结束时为元素打标签或设置样式以修复其更改的属性?我知道转换过渡是持久的,但是对于我提出的动画(示例仅用于演示目的),过渡不能达到所需的控制水平。如果没有这个功能,似乎复杂的动画只对于圆形过程有用,其中元素最终回到其原始状态。
-webkit-animation-play-state
和pause
,但是必须在动画完成后使用JS将其放入其中(很丑陋)。这太完美了! - Oscar Godsonanimation-fill-mode: forwards;
。 - Johnride