浏览器为了尽可能减少reflow和repaint操作, 会将这些操作累积起来, 等到某个时刻统一做一次reflow, 也就是异步reflow.
那么什么时候会产生同步的layout呢?
例如resize窗口, 改变页面默认字体, 或是js脚本做出以下的请求:
- offsetTop、offsetLeft、offsetWidth、offsetHeight
- scrollTop、scrollLeft、scrollWidth、scrollHeight
- clientTop、clientLeft、clientWidth、clientHeight
- getComputedStyle()或currentStyle
此时浏览器需要立即重新计算布局,以返回最新的值。
网友评论