重排和重绘的理解与优化

156 阅读1分钟

重排:

节点的几何属性发生改变,比如改变元素的宽高、位置,DOM树重新排列,导致浏览器重新计算节点的几何属性。

触发重排的条件:
  • 元素的尺寸发生变化;
  • 元素的位置发生变化;
  • DOM树的结构发生变化;
  • 调整浏览器窗口;
  • 获取某些元素属性。

重绘:

节点的外观样式发生改变,浏览器将重新渲染的树渲染到屏幕。

完成重排后,要将重新构建的渲染树渲染到屏幕上。因此重排一定重绘,重绘不一定重排.
重排、重绘,会影响到浏览器的性能,给用户的感觉就是网页访问慢,或者网页会卡顿,不流畅,从而使网页访问量下降,所以要避免大量使用重绘与回流.

优化

1.直接改变样式名称 className 不一个个修改属性的参数

2.添加元素时 一起创建 最后一起添加

3.将需要多次重排的元素,position属性设为absolute或fixed,元素脱离了文档流,它的变化不会影响到其他元素;