我有一个移动网络应用程序,它使用 Zepto 创建页面之间的转换。动画在桌面上非常流畅,但在我的 iPhone 4 上却很不稳定。动画比过渡更高效吗?除了控制粒度之外,动画和过渡之间还有什么区别?
最佳答案
这不是过渡与动画问题 - 这是转换与属性更改问题。
内容可以通过多种不同的方式在屏幕上移动:最常见的两种是位置属性(left、top、margin-left、scroll-position 等)更改和变换。在 iOS 上,现在是第 5 版,位置属性更改是在 CPU 上以像素增量完成的 - 没有子像素补间,因此移动,特别是在较旧的非视网膜显示器上,是不稳定的。
相比之下,变换 - 特别是 3D 变换是在 GPU 上完成的,因此您可以获得非常平滑的运动和子像素补间。
(请注意,某些桌面浏览器会进行 GPU 加速位置属性更改 - 如 IE9 - 因此这两种方法在视觉上没有区别)
关于javascript - CSS3 关键帧动画是否比属性转换更流畅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10955389/