Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

重排与重绘

介绍

重排(回流)与重绘是当页面发生改变时,浏览器重新计算画面的操作。

  • 重排:浏览器重新计算页面元素位置,并重新计算页面元素大小。
  • 重绘:重新绘制页面元素。

当重排时一定会发生重绘。
现代浏览器会对频繁的回流和重绘操作进行优化。浏览器会维护一个队列,把所有引起回流和重绘的操作放入队列中,如果队列中的任务数量或者时间间隔达到一个阈值的,浏览器就会将队列清空,进行一次批处理,这样可以把多次回流和重绘变成一次。
但当你获取布局信息的操作的时候,队列会强制刷新。

优化

  1. 合并样式:相同的样式使用一个class声明。
  2. 避免批量操作DOM:lipliang、jQuery、Vue、React等框架会自动合并批量操作DOM。

参考资料

关于本人

HaiYao的博客
Git主页

评论