1. 重排
当DOM的变化影响了元素的几何信息,浏览器需要重新计算元素的几何属性,将其安放在界面中的正确位置,这个过程叫做重排。表现为重新生成布局,重新排列元素。
2. 重绘
当元素的弯管改变,没有改变布局,重新把元素外观绘制出来的过程,叫做重绘。表现为某些元素的外观被改变。
3. 回流
布局引擎会根据各种样式计算每个盒子在页面上的大小与位置。改变元素的位置和尺寸大小都会引发回流。
回流必定会发生重绘,重绘不一定会引发回流。
4. 如何触发重排和重绘?
a.添加、删除、更新DOM节点
b.通过display: none隐藏一个DOM节点-触发重排和重绘
c.通过visibility: hidden隐藏一个DOM节点-只触发重绘
d.移动或者给页面中的DOM节点添加动画
e.添加一个样式表,调整样式属性
f.用户行为,例如调整窗口大小,改变字号,或者滚动。