Skip to content

回流和重绘

回流(reflow)

提示

或者称为重排。

所有对 布局树的更改,以及所有对 布局树的读取,都会引发回流。

更改会导致 异步回流

js
dom.style.width = '100px'
dom.style.height = '100px'
dom.style.border = '1px solid red'

// 浏览器会将这些更改放在一个队列中,最后集中处理,只会执行一次。

读取会导致 同步回流

js
dom.clientHeight

// 浏览器会立即执行,会强制回流一次。

重绘(repaint)

所有 非几何信息 的读写所造成的可见样式的变化会引发重绘。

由于元素的布局信息也属于可见样式,所以 reflow 一定会引发 repaint

基于 MIT 许可发布