当渲染树中,当元素尺寸、结构、属性发生变化时,浏览器需要重新渲染部分或者全部文档的过程,就叫做回流
一些会造成回流的操作:
在触发回流的时候,由于浏览器渲染是基于流式布局的,当触发回流时,会造成周围的 DOM 元素发生重新排列
当页面中某些元素的样式,但是不会影响其在文档流的位置时候,浏览器会对元素进行重新绘制,就叫做重绘
一些会造成重绘的操作:
当触发回流时,一定会触发重绘,但是重绘不一定回流
DocumentFragment
,在它上面应用所用的DOM操作,然后再把它添加到文档中display:none
操作结束后再把它显示出来,这样多次重流,只会发生一次使用
absolute
或者fixed
脱离文档流
DocumentFragment,文档片段节点,一个没有父对象的最小文档对象,文档片段不会在页面中显示,但是可以用来存储或者操作节点,从而提高DOM操作的性能,