浏览器解析并渲染页面的过程

本文详述了浏览器解析HTML资源,构建DOM树、CSS规则树,形成渲染树,并进行布局与绘制的过程。讨论了JavaScript加载对DOM解析的影响,以及如何避免JS阻塞。同时,介绍了回流与重绘的概念及其影响。
摘要由CSDN通过智能技术生成

浏览器解析并渲染页面的过程

渲染过程
  1. 浏览器获取到 html 资源后开始解析 html (dom tree)
  2. 解析到 css 后根据 css 生成 css 规则树 (style rules)
  3. 在 dom 树和 css 规则树都生成完后,通过 dom 树和 css 规则树生成渲染树( render tree )
  4. 渲染树构建完成后,浏览器开始计算元素的大小和位置( layout )
  5. 根据计算好的节点信息将内容绘制到屏幕上( painting )

渲染的过程如下图:

dom构建过程.png

渲染过程详解
1. dom 树和 css 规则树的先后顺序

浏览器获取的 html 资源后自上而下开始解析,生成 dom 树;如果遇到 style 的内联样式和 link 会将 css 交由 css 渲染器构建 css 规则树; 其中加载 link 引入的外部样式文件是异步加载的,并且整个 css 规则树也是与 dom 树的构建是并行的;

2. Javascript脚本的加载

由于 js 可以操作 dom,所以在 html 解析到 Javascript 脚本时会停止对 dom 的解析;而 css 的解析会阻塞 js 的执行,所以在某些情况下 css 的解析会导致 dom 的解析;

解决 js 阻塞 dom 解析的方法:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值