重构和重绘 - 图1

    回流(Reflow)(重构) :

    render tree中的一部分(或全部)因为元素的规模尺寸, 布局,隐藏等改变而需要重新构建,

    回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回流后,

    浏览器会重新绘制受影响的部分到屏幕中,该过程称为重绘。

    重绘:

    render tree中的一-些元素需要更新属性,而这些属性只是影响元素的外观,风格

    而不会影响render树重新布局的,比如修改字体颜色。

    他们的区别很大:

    1.回流必将引起重绘,而重绘不一定会引起回流。比如:只有颜色改变的时候就只会发生重绘而不会

    引起回流。

    2.当页面布局和几何属性改变时就需要回流,比如:添加或者删除可见的DOM元素,元素位置改变,

    元素尺寸改变—边距、填充、边框、宽度和高度,内容改变。