浏览器工作原理个人理解 | | CSS 解析过程总结

一、浏览器工作原理部分

HTML、CSS、JavaScript解析是三个需要处理的部分,为了加快页面的渲染,浏览器的渲染引擎部分,会有自己的渲染逻辑顺序。目的是为了快速的提升页面渲染速度。

浏览器接收到HTML文件后的动作:

1、HTML解析成DOM树

2、CSS解析成CSSOM树

3、若写了JavaScript代码块,且非async,则中断DOM构建,反过来执行JS,因为JS可能会修改DOM的结构内容

这是网页文件送达后,三个关键资源的首要阶段,也叫关键阶段。
之后的过程,会根据不同浏览器的内核而不同。大致总结一下:

DOM和CSSOM树会用做材料,来构建渲染树,它结合了2个树中的数据。注意这个构建渲染树的阶段有优化,会把不显示在浏览器视口的元素全部"砍掉",比如 head meta script ,设置 display :none的结点等等。

渲染树构建完成,就进行 布局阶段:
利用渲染树上的结点数据,计算每个元素在视口上的位置。

最后进行painting阶段:
开启渲染API,进行像素渲染。根据个人理解,渲染可能使用的是opengl接口,应该使用的是share buffer,把像素放在内存中某处,然后opengl直接去那个地方取像素进行渲染。

二、CSS 解析过程总结

CSS 是网页加载慢的源头,因此优化CSS代码很重要。

CSSOM树的结点值是 选择器,进行查找赋值的时候,若是单一选择器,直接赋给root结点 ;若是嵌套使用的选择器,就 “自右向左" 查找进行结点的赋值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值