CSS回流(Reflow)与重绘(Repaint)

本文介绍了CSS中的回流与重绘,这两个过程在HTML或CSS变化时影响页面渲染性能。浏览器解析页面包括HTML DOM树构建、CSS规则树生成、Render树的布局和绘制。回流(layout或reflow)涉及元素结构和位置的改变,成本较高;重绘(repaint)仅改变元素外观。为了优化,可以避免逐项更改样式、减少DOM操作、合理使用CSS属性及开启GPU加速等策略。
摘要由CSDN通过智能技术生成

一、介绍

CSS中的回流与重绘是指当HTML或CSS节点发生变化时,浏览器重新绘制和展示页面的过程。回流和重绘会导致浏览器性能降低,应尽量减少。

二、浏览器解析页面的流程

浏览器解析页面主要分为以下的流程:

1.解析HTML,形成HTML DOM树

2.解析CSS,生成CSS规则树

3.将HTML DOM树与CSS规则树结合(attachment),生成Render树

4.布局Render树(layout/reflow),负责各元素大小、位置的计算

5.绘制Render树(painting),绘制页面像素信息

6.浏览器将各层信息发送给GPU,GPU将各层合成,显示在屏幕上

三、回流与重绘的发生阶段

当HTML或CSS发生变化的时候,就会导致浏览器重新解析HTML DOM树和CSS状态树,导致了重新布局(layout)和渲染(repaint)。

· 回流:即为layout或reflow,指重新进行布局。一般意味着元素的大小、位置、结构、内容、字体大小等发生了变化,需要重新解析。

· 重绘:即为repaintÿ

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值