浏览器重绘与重排

本文深入解析了前端开发过程中常见的DOM操作引起的重绘与重排现象,探讨了它们对网页性能的影响,并提供了优化建议。了解何时会发生重绘与重排,以及如何避免不必要的性能损耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当我们在做前端开发的时候,肯定会碰到操作DOM的情况,在操作DOM的时候,就会引起浏览器的重绘与重排。

 

▍重绘

如果DOM变化仅仅影响的了visibility、outline、背景色等等非几何属性,此时就发生了重绘(repaint)而不是重排,因为布局没有发生改变。

 

▍重排

当DOM变化影响了元素的几何属性(宽、高改变等等),浏览器此时需要重新计算元素几何属性,并且页面中其他元素的几何属性可能会受影响,这样渲染树就发生了改变,也就是重新构造RenderTree渲染树,这个过程叫做重排(reflow)

以下情况会引发重排:

  • 页面初始渲染
  • 添加/删除可见DOM元素
  • 改变元素位置
  • 改变元素尺寸(宽、高、内外边距、边框等)
  • 改变元素内容(文本或图片等)
  • 改变窗口尺寸

 

▍我是尾巴

重绘和重排都会影响性能(重排的影响更严重),所以,能避免的尽量避免。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值