HTML基础:重排和重绘

重排和重绘

  1. 概念

    重排:如果DOM的变化影响到几何属性比如宽度或者需要获取到最新的几何数据,浏览器需要重新构造渲染树,计算它们在视口的确切位置和大小

    重绘:浏览器将受到影响的部分重新绘制到屏幕上的过程称为重绘

  2. 重排一定会触发重绘,重绘不一定会重排

  3. 引起重排的原因有:

    • 添加或删除可见的DOM元素
    • 元素的位置发生变化
    • 元素尺寸发生变化
    • 浏览器窗口尺寸变化

    引起重绘的原因有:没有涉及几何属性的计算,比如改变元素背景色时

  4. 浏览器优化:

    浏览器会将一段时间内的DOM修改操作放到一个队列里,当过了一段时间或者队列满时,才会清空队列。但是如果你获取布局信息时,会强制队列刷新,因为要获取到最新的布局信息

  5. 减少回流重绘:

    • 合并多次对DOM和样式的修改
    • 使元素脱离文档流,比如隐藏元素,使用document fragment等,对其修改后再带回文档
    • 使用transform,opacity等属性修改样式,不会引起重排重绘
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值