我用 CSS TranslateX 编写了一个测试。动画有效,但对象没有保持最终位置,而是返回到原始位置。
怎样才能保住最后的位置呢?
这里是CSS:
@-webkit-keyframes mover {
0% { -webkit-transform: translateX(0); }
100% { -webkit-transform: translateX(300px); }
}
@-moz-keyframes mover {
0% { -moz-transform: translateX(0); }
100% { -moz-transform: translateX(300px); }
}
@-o-keyframes mover {
0% { -o-transform: translateX(0); }
100% { -o-transform: translateX(300px); }
}
@keyframes mover {
0% { transform: translateX(0); }
100% { transform: translateX(300px); }
}
#box {
position: relative;
top: 20px;
left: 20px;
width: 50px;
height: 50px;
background-color: #666;
}
.box-mover {
-webkit-animation: mover 2s ease-in-out;
-moz-animation: mover 2s ease-in-out;
-o-animation: mover 2s ease-in-out;
animation: mover 2s ease-in-out;
}
Run Code Online (Sandbox Code Playgroud)
这里是测试: http: //jsfiddle.net/junihh/1v0t9vs2/
感谢您对此的任何帮助。
添加forwards关键字。演示版
.box-mover {
-webkit-animation: mover 2s ease-in-out forwards;
-moz-animation: mover 2s ease-in-out forwards;
-o-animation: mover 2s ease-in-out forwards;
animation: mover 2s ease-in-out forwards;
}
Run Code Online (Sandbox Code Playgroud)
这将设置animation-fill-mode:属性。
向前 - 目标将保留执行期间遇到的最后一个关键帧设置的计算值。遇到的最后一个关键帧取决于animation-direction和animation-iteration-count的值: