复制代码代码如下所示:
重画(重绘),当repaint发生变化,元素的外观改变,不改变布局,如改变轮廓,能见度,背景颜色,不影响DOM结构绘制。

Reflow(渲染),结构绘制拟合及不同的是,他会影响DOM,同时他将触发重画,他会改变自己的父亲和所有的元素(祖先),这个费用是很昂贵的,造成性能下降是必然的,更多的页面元素的效果更明显。

什么时候发生:
此外,改性(内容),删除(回流焊+重画)的DOM元素
只有修改DOM元素的字体颜色(只重绘,因为没有需要调整布局)
应用新样式或修改影响元素外观的任何属性。
调整浏览器窗口、滚动页的大小
读取元素的一些性质(offsetleft,offsettop,offsetheight,offsetwidth,scrollTop / / /左宽度高度,clienttop / / /左宽度高度,getcomputedstyle(),currentstyle(伊江)。

如何避免:
元素首先从文档中移除。修改完成后,元素被放回原来的位置。
将元素的显示设置为零,并在修改后将显示修改为原始值。
如果你需要创建多个DOM节点,你可以使用documentfragment创建一次性添加到文件

var = document.createdocumentfragment(片段);
fragment.appendchild(document.createtextnode('keenboy试验111));
fragment.appendchild(document.createelement(到的));
fragment.appendchild(document.createtextnode('keenboy试验222));
document.body.appendchild(片段);
集中修改样式
4.1尽可能少地修改元素样式上的属性。
4.2修改样式尽可能通过修改类名
4.3设置样式的值通过csstext财产
元。风格。宽度= 80px; / /回流
元。风格。高度= 90px; / /回流
元。风格。边境= solid 1px红; / /回流
上面产生了许多回流,你打的越多,产生的就越多。
元。风格。csstext =宽80px;高度:80px;边界:solid 1px红;; / /回流
4.4缓存布局属性值
VaR左= elem.offsetleft;左多用也产生回流
4.5 set元素的位置是绝对的或固定的。
元素不在标准流中,与DOM树结构分离,需要回流时只需要回流和下部元素。
4.6尽量不要使用表格布局
一旦表元素触发回流,它会引起表的所有其他元素,回流。当适合于表时,可以将表布局设置为自动或固定,因此该表可以呈现一行到一行。这也是限制回流焊影响的一种方法。
4.7避免使用表达,他将重新计算每个电话(包括加载页)。

参考资源uff1a

雅虎!在最近的一篇文章回流重画性能工程师Nicole Sullivan:CSS性能使你的Javascript慢