码迷,mamicode.com
首页 > 其他好文 > 详细

怎样理解重流和重绘

时间:2019-10-18 18:55:53      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:frame   absolute   一起   nbsp   布局   virt   doc   重复   节点   

下面是一些相关概念: 

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)

 

怎样理解重流和重绘

标签:frame   absolute   一起   nbsp   布局   virt   doc   重复   节点   

原文地址:https://www.cnblogs.com/aisowe/p/11699920.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!