页面重绘和回流以及优化

Posted haonanzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面重绘和回流以及优化相关的知识,希望对你有一定的参考价值。

页面重绘和回流以及优化

回流与重绘

1. 当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回流后,浏览器会重新绘制受影响的部分到屏幕中,该过程成为重绘。

2. 当render tree中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的,比如background-color。则就叫称为重绘。

注意:回流必将引起重绘,而重绘不一定会引起回流。

回流何时发生:

当页面布局和几何属性改变时就需要回流。下述情况会发生浏览器回流:

1、添加或者删除可见的DOM元素;

2、元素位置改变;

3、元素尺寸改变——边距、填充、边框、宽度和高度

4、内容改变——比如文本改变或者图片大小改变而引起的计算值宽度和高度改变;

5、页面渲染初始化;

6、浏览器窗口尺寸改变——resize事件发生时;

技术分享图片

技术分享图片

技术分享图片

以上是关于页面重绘和回流以及优化的主要内容,如果未能解决你的问题,请参考以下文章

页面重绘和回流以及优化1

页面优化,谈谈重绘(repaint)和回流(reflow)

灵魂拷问第6篇:谈谈你对重绘和回流的理解

重绘和回流的解释

JS的回流和重绘

影响回流、重绘的 CSS 属性都有哪些?