IT源码网

怎样理解重流和重绘讲解

sanshao 2021年03月09日 编程语言 129 0

下面是一些相关概念: 

1. 重流: reflow, 重绘: repaint

2. 重流必定导致重绘, 重绘不一定重流

3. 布局改变会发生重流, 元素颜色等改变只会发生重绘

 

下面是通过减少重流/重绘次数而优化页面性能的一些手段: 

1. 减少js中的dom操作, 若必须, 则尽量将读取dom和写入dom的操作放在一起, 便于浏览器累积dom变动, 一次执行, 减少重绘.

2. 缓存dom信息, 多次使用, 不要重复读取dom节点.

3. 不要一项一项地改变样式, 尽量用 css class一次性改变样式.

4. 使用documentFragment操作DOM

5. 动画使用absolute或fixed定位. 不然重流会很严重.

6. 只有在必要时才显示或隐藏元素, 这个操作必定会导致重流

7. 使用window.requestAnimationFrame()可以把代码推迟到下一次重流时执行.

8. 使用Virtual DOM(如 React / Vue)

 

发布评论

分享到:

IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

怎样简单理解浏览器内核讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。