TranslateX 一个对象并保持最终位置

jun*_*ihh 3 css transform

我用 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/

感谢您对此的任何帮助。

Sch*_*lzy 5

添加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的值: