CSS Calc中的数学比JS中的数学快吗?

时间:2019-02-01 19:34:21

标签: javascript css css-variables

例如,如果我想以60fps的速度更新CSS值,在JS中执行类似setCSS(i * 10 + 'px')或在CSS property: calc(10px * var(--i))中执行类似的事情会更快吗?

2 个答案:

答案 0 :(得分:2)

我不认为速度,你会用它来确定使用的问题。任何支持calc()的客户端都将很快,并且它的执行速度确实取决于具体实现。

选择一个而不是另一个原因不是速度,灵活性和您的用例。 calc()将您限制为硬编码的值,这在某些情况下非常理想,而JavaScript允许您引用值。可以肯定的是CSS变量即将到来,但是它们还没有出现,甚至当它们到达这里时,拥有JS语言的全部功能和完整的DOM API的负担很重。

答案 1 :(得分:0)

这在很大程度上取决于你的DOM树和标记,而不是JS与CSS。 如果你的元素,你打算改变确实有子元素变化的成本会很高。

  

如果你改变了“布局”属性,所以这是一个改变的元件的几何形状,象它的宽度,高度,或它与左或顶部位置时,浏览器将必须检查所有的其它元件和“回流”的页。任何受影响的区域将需要重新绘制,并且最终绘元件将需要被合成到一起。

约网页呈现更多读数可以上找到https://developers.google.com/web/fundamentals/performance/rendering/

有也信息和关于CSS CALS一些测试与变量VS JS https://lisilinhart.info/posts/css-variables-performance/