浅谈浏览器重排(Relayout/Reflow)

636 阅读1分钟

什么是重排?

重排,是根据渲染树中每个渲染对象的信息,计算出各自渲染对象的几何信息(DOM对象的位置和尺寸大小),并将其安置在界面中的正确位置。

什么情况下会引起重排?

页面首次渲染。

浏览器窗口大小发生改变。

元素尺寸或位置发生改变。

元素内容变化(文字数量或图片大小等等)。

元素字体大小变化。

添加或者删除可见的DOM元素。

激活CSS伪类(例如::hover)。

设置style属性

查询某些属性或调用某些方法。

如何避免/减少浏览器重排/回流?

减少DOM操作

减少重排

css及动画处理