javascript - CSS 过渡效果比 DOM 动画更好吗?

标签 javascript css

我正在运行一些使用 ScrollerJS 进行数字滚动的东西。它支持两种模式:CSS 过渡和 DOM 动画。当我使用DOM动画模式时,我发现有时滚动并不比CSS过渡平滑。

所以我想知道 CSS 过渡是否比 DOM 动画表现更好?有任何证据或测试表明这一点吗?

CSS 转换:CSS3 transition/transform 属性,用于转换元素

DOM动画:传统的DOM动画,不断改变CSS top属性。

最佳答案

简而言之,是的。在 CSS 中执行此操作允许浏览器对其进行优化,例如使用硬件加速。

如果您操作 DOM,浏览器通常必须重新渲染内容,这通常会比较慢。

DOM 操作通常用于支持不支持 CSS 动画(或实现不佳)的旧版浏览器。

来自http://scrollerjs.pixelstech.net/#about

If CSS transition is supported in a browser, CSS transition will be the preferred option for animation.

If in old browsers where CSS transition is not supported. DOM animation will be chosen automatically.

但是,请注意,像往常一样,事情从来都不是完全简单的,并且没有任何概括是完全正确的......有一些 JavaScript 动画库可以与基于 CSS 的过渡/动画相媲美,有时甚至优于基于 CSS 的过渡/动画,并且它们通常是更灵活。以下是一些简单的阅读内容:

http://davidwalsh.name/css-js-animation

https://css-tricks.com/myth-busting-css-animations-vs-javascript/

关于javascript - CSS 过渡效果比 DOM 动画更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30624615/

相关文章:

html - 对齐单选按钮时出现 Flexbox 问题

javascript - Nodejs ssh2仅在一个终端运行多个命令

javascript - 如何指定每一步滚动移动多少像素?

javascript - 具有属性绑定(bind)的 Angular 2 动画不起作用

javascript - 如何使 "scroll to top"JS 函数在 JQuery 中变慢

javascript - 当前幻灯片 + 导航

CSS背景渐变动画不起作用

javascript - 循环,获取唯一值并更新

javascript - 根据输入调用函数

jquery - 从 jQuery 开始获取 css 过渡