次の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ドロップダウンしてアニメーション化します。ただし、アニメーションの終了時に、元の位置にジャンプして戻ります。
明らかに、これはCSSlandでは理にかなっています。アニメーションが適用され、要素に作用しなくなったため、元のスタイルが有効になります。しかし、私には少し奇妙に思えます-確かに、要素を所定の位置にアニメーション化する場合、その配置が持続することを期待しますか?
変更されたプロパティを修正するために、アニメーションの最後にある要素にクラス名またはスタイルをタグ付けするためにJavascriptに頼る必要なしに、終了位置を「スティッキー」にする方法はありますか?トランジションが持続することは知っていますが、問題のアニメーション(例はデモンストレーションのみを目的としています)では、トランジションは必要なレベルの制御を提供しません。これがないと、複雑なアニメーションは、要素が元の状態に戻る循環プロセスにのみ役立つようです。