【问题标题】:Animating translate percentages on Android Native Browser (4.x)在 Android 原生浏览器 (4.x) 上动画翻译百分比
【发布时间】:2013-05-22 06:32:47
【问题描述】:

我正在开发一个使用流行的侧边栏交互模式的小型网络应用程序。当使用 CSS3 动画将侧边栏转换为视图时,动画会滚动到视图之外,但会在 Android 原生浏览器中的正确位置停止。

动画代码很简单:

#wrapper > #off-canvas { 
    -webkit-transform: translate(0, 0);
       -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
         -o-transform: translate(0, 0);
            transform: translate(0, 0);
}
#wrapper > #off-canvas.off { 
    -webkit-transform: translate(80%, 0);
       -moz-transform: translate(80%, 0);
        -ms-transform: translate(80%, 0);
         -o-transform: translate(80%, 0);
            transform: translate(80%, 0);
}

您可以在我制作的 JS-Fiddle 中看到该行为。代码有点乱,但行为显然是错误的。 (当然你需要一个安卓设备才能重现错误)

FIDDLE

  • 为“left”属性设置动画时,一切正常。
  • transform: translate 与 px 值一起使用时,一切正常。

有其他人遇到过这个问题并找到解决方法吗?
我想使用一种支持硬件加速的方法来提高应用程序的性能。

【问题讨论】:

    标签: javascript css mobile android-browser


    【解决方案1】:

    你是对的。本机 android 浏览器(不是 Chrome)过度滚动。它不喜欢 translate 属性。我可以改用margin-left 来修复它。

    #wrapper > #off-canvas.off { 
        margin-left:80%;
    }
    

    Here's a plunk.

    【讨论】:

    • 虽然您的解决方案解决了问题,但我更喜欢支持硬件加速的解决方案,例如translate。我已经在我的帖子中提到我知道这样一个事实,像 marginleft 这样的东西是正确的动画。
    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 2017-12-17
    • 2014-07-05
    • 2013-05-19
    • 2018-06-03
    • 2012-04-13
    • 2011-09-18
    • 1970-01-01
    相关资源
    最近更新 更多