【问题标题】:CSS3 Animation Sink Backwards then move leftCSS3动画向后下沉然后向左移动
【发布时间】:2012-12-22 09:07:57
【问题描述】:

我目前正在尝试创建一个动画,使 div 看起来像是向后下沉,然后(在完成后退后)被推到左边。

我现在正在使用 CSS3,但我对动画属性不是很熟悉,并且遇到了一些问题。目前我正在使用:

@-webkit-keyframes sinkBack
{
    50% {
        -webkit-transform: scale(.9);
        margin-left: 0;
    }
    100% {
        margin-left: -100px;
    }
}

虽然这样做的结果是它缩小了,然后在 50% 之后,在向左推的同时开始放大。我希望它在被向左推时保持在比例(.9)。

我也愿意用 jQuery 来做这件事,但 animate 不支持转换,我不想使用启用这些动画的插件之一。所以 CSS3 感觉它会是一个更好的选择。

编辑

感谢 gion 的帮助。下面的最终代码(切换出margin-left):

@-webkit-keyframes sinkBack /* Safari and Chrome */
{
50% {
    -webkit-transform: scale(.9);
}
100% {
    -webkit-transform: translateX(-100px) scale(.9);
}
}

【问题讨论】:

    标签: css transform css-animations


    【解决方案1】:

    保持规模:

    @-webkit-keyframes sinkBack
    {
        50% {
            -webkit-transform: scale(.9);
            margin-left: 0;
       }
        100% {
           -webkit-transform: scale(.9);
            margin-left: -100px;
        }
    }
    

    【讨论】:

    • 谢谢。我不知道我必须重述以前的动画。这实际上并不完全符合我的要求(margin-left 在向左移动时会导致奇怪的调整大小问题)。用 translateX() 把它换掉。在上面发布了最终动画。
    猜你喜欢
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    相关资源
    最近更新 更多