网页性能 -- 浏览器的repaint和reflow

本文详细介绍了网页生成过程,重点讨论了浏览器的repaint和reflow现象,解释了何时会发生重排和重绘,以及如何通过合并样式操作、批量修改DOM和缓存布局信息等方式来减少它们的影响,从而提升网页性能。
摘要由CSDN通过智能技术生成

#1.网页的生成过程

浏览器从下载文件到显示页面是一个很复杂的过程。
浏览器下载完页面中的所有组件 – HTML标记、JavaScript、CSS、图片 – 之后会解析并生成两个内部数据结构:

 1. DOM树 -- 表示页面结构
 2. 渲染树 -- 表示 DOM 节点在页面中如何显示(宽高、位置等)

下面我们来看一下网页具体的一个生成过程,如下图:
这里写图片描述

  1. HTML代码转化成DOM

  2. CSS代码转化成CSSOM(CSS Object Model)

  3. 结合DOM和CSSOM,生成一棵渲染树(包含每个节点的视觉信息)

  4. 生成布局(layout),即将所有渲染树的所有节点进行平面合成

  5. 将布局绘制(paint)在屏幕上

    这五个步骤中,第一步到第三步都非常快,耗时的是第四步和第五步。
    "生成布局"(flow)和"绘制"(paint)这两步,合称为"渲染"(render)。
    

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值