【前端学习 - CSS(20)回流(重排)和重绘】

本文详细介绍了回流(重排)和重绘的区别,重点讨论了两者在页面渲染过程中的作用。回流发生在元素尺寸、布局改变时,导致整个渲染树需要重建;而重绘仅涉及元素外观变化,不改变布局。触发回流的常见操作包括添加删除DOM元素、更改位置和尺寸等。理解这两者对于优化网页性能至关重要。

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

1. 回流(重排)和重绘区别?

回流(重排),reflow:当 render tree 中的一部分(或全部)因为元素的规模尺寸布局隐藏等改变时而需要重新构建;

重绘(repaint):当 render tree 中的一些元素需要更新属性,而这些属性只影响元素的外观风格,而不会影响布局时,称其为重绘,例如颜色改变等。

注意:每个页面至少需要引发一次重排+重绘,而且重排(回流)一定会引发重绘

触发重排(回流)的条件:

  • 增加或者删除可见的 dom 元素;
  • 元素的位置发生了改变;
  • 元素的尺寸发生了改变,例如边距,宽高等几何属性改变;
  • 内容改变,例如图片大小,字体大小改变等;
  • 页面渲染初始化;
  • 浏览器窗口尺寸改变,例如 resize 事件发生时等;

技巧:回流理解为流动,流动自然会引起布局的变动;重绘可以理解为表层绘画,那么只是外观的改变。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇六岁鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值