浏览器是如何渲染(显示)网页的

接着上一篇文章所说的关于浏览器方面的知识,今天来说一下浏览器是如何渲染页面的,这是学前端必须要掌握的知识

浏览器渲染页面可以分为六个步骤

1.先将html里面代码从上往下进行加载解析,并且在过程中进行渲染,如果在过程中碰到一些需要请求的外部资源,如 图片,视屏,外部链接的css,js等资源,那么又会重新连接过去请求对应的外部资源,但是这一个过程是异步的

渲染过程中主要由浏览器内核来完成,不同内核渲染方式稍有不同

内核大致可以分为两个引擎:渲染引擎和js引擎

2.渲染引擎解析(解析可以理解为是浏览器不认识代码,就是将浏览器不认识的东西转换成浏览器能认识的东西)HTML文件,构建DOM tree(DOM树,我们可以理解为一种由HTML中的标签,文本节点和属性所组成的一种树结构数据)

3.解析CSS文件构建CSSOM tree(CSSOM树) 注意:渲染引擎它不能直接解析css的代码,所以需要转换成对应的CSSOM树

4.结合DOM tree和CSSOM tree生成Render tree(渲染树)

5.进行layout(布局)处理阶段,也就是将Render tree里面的东西进行一个布局,可以理解为将Render tree分配到屏幕上的某一位置,给每一个元素分配对应的屏幕坐标,只是分配的坐标并没有展示出来

6.绘制阶段,渲染引擎遍历循环Render tree将每一个节点绘制到屏幕上,需要知道这个绘制过程是渐进式的(就是说网页并不是全部绘制完成一下子出来,这样用户体验不是很好了,它是边解析边绘制的)

补充:最终JS引擎解析JS相关代码和执行

回流和重绘

再说回流和重绘之前先说一下布局,所谓布局就是页面第一次确定DOM位置大小等一些信息的时候叫布局, 布局是需要计算的,根据需求来计算


回流 :在第一次的基础上布局会得到一些布局的基础信息(如元素的大小位置...),后面通过一些代码对这些信息进行了修 改,那么就会重新计算这些布局信息,这个过程叫回流


重绘:所谓重绘就是重新绘制意思,也就是浏览器在第一次渲染以后还会绘制,后期如果去修改了元素的大小,位置,颜色等,它就会重绘
注意:回流以后会重新绘制

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值