Skip to content

前端性能优化之 CSS

利用浏览器的 Devtool 工具,performance 面板,Layer 面板,回流重绘颜色显示

对于一些动画,尽可能使用 transform 和 opacity 来利用 GPU

使用 will-change 属性来新建图层

减少使用和改变一些出发回流和重绘操作的属性或者代码 比如 操作 dom 的大小,增删 DOM, 位置,访问 clientWidth 等

对于一些必要的的操作 DOM 的情景,使用 fastDom 库来对操作进行统一执行,减少卡顿

第三章 完毕

CSS 优化

如果涉及到一些可以使用合成线程来处理CSS特效或者动画的情况,就尽量使用will-change来提前告诉渲染引擎,让它为该元素准备独立的层。

例如:

css
.box {
  /*提前告诉渲染引擎box元素将要做几何变换和透明度变换操作*/
  will-change: transform, opacity;
}

但是凡事都有两面性,每当渲染引擎为一个元素准备一个独立层的时候,它占用的内存也会大大增加,因为从层树开始,后续每个阶段都会多一个层结构,这些都需要额外的内存,所以你需要恰当地使用 will-change

Released under the ISC License.