浏览器渲染机制过程

以下是浏览器渲染机制必经过程

  • 根据HTML构建HTML树(DOM)
  • 根据CSS构建CSS树(CSSDOM)
  • 将这俩棵树合并成一棵树(Reder Tree)
  • Latout 布局 (文档流、盒模型、计算大小和位置)
  • Paint 绘制 (把边框颜色、文字颜色、阴影等画出来)
  • Compose 合成 (根据层叠关系展示画面)

说一下这些步骤是什么样的(详细)

Too lang;don’t read:

  • 处理HTML并构建DOM树
  • 处理CS并构建CSSDOM树
  • DOM 树 与CSSDOM 树 合并后形成渲染树
  • 根据渲染树来布局 ,以计算每个节点的几何信息(布局会计算每个对象的精确位置和大小)
  • 最后一步是绘制, 使用最终渲染树将像素渲染到屏幕上

第一步是让浏览器将DOM和CSSDOM 合并成一个“渲染树”,收集页面上所有可以看见的DOM内容、以及每个节点所有的CSSDOM样式信息。

为构建渲染树,浏览器会完成下列工作:

  1. 从DOM树的根节点开始遍历每个可见节点
  2. 对于每个可见节点,找到适配的CSSDOM规则并应用它们
  3. 发射可见节点,连同其内容和计算的样式

最终输出的渲染同时包含了屏幕上的所有可见的内容和样式信息。

渲染树

有了渲染树,接下来的阶段就要进入 Layout布局 阶段,顾名思义,就是计算出每个节点在屏幕中的位置。

  • Layout 事件会在时间线中捕获渲染树构建以及位置和尺寸计算
  • 布局完成后,浏览器会立即发出Paint SetupPaint 事件,按照算出来的规则,将渲染树转换成屏幕上的像素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值