有几种方法可以在浏览器中实现动画:
- 过渡
- 转换
- 动画(@keyframes)
- 基于 Javascript 的动画
后者肯定是同步的,因为是单UI线程。其他人呢?
哪个会阻塞或被 UI 线程阻塞?
如何在浏览器执行大量初始化工作时实现流畅的动画?
更新
我在以下视频中找到了答案:http://www.youtube.com/watch?feature=player_embedded&v=CE12cBoalIc
最佳答案
CSS 转换和 CSS 动画将在加载所有页面资源并将 CSS 样式表解析到 CSSOM 后立即开始。这些不会阻塞 UI 线程。 如果处理不当,Javascript 动画会影响 UI 性能。如果您需要 JS 动画,请务必使用 requestAnimationFrame。这不会阻塞 UI,并且会安排更改以与浏览器刷新率同步的方式批量完成。 在浏览器中实现流畅动画并保持 UI 响应的最佳方法是使用 CSS 过渡或动画。
关于javascript - 什么样的CSS3动画是异步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287312/