前端知识补充说明之浏览器渲染页面的过程


一、渲染界面的三个步骤?

浏览器接收到代码后进行解析,经过三大步骤:
DOM构造、布局以及绘制页面,最终展现为人人都能看懂的网页。
前端知识补充说明之浏览器渲染页面的过程

第一步,DOM构造

浏览器首先将收到的html代码,通过html解析器解析构建为一颗DOM树。数据结构中有许多的树,而DOM树就像是一颗倒长着的大树,这样的对象模型决定了节点之间都有一定的关联它们关系可能有父子、有兄弟,我们可以顺着这颗树做出许多操作。接着将接收到的css代码,通过css解析器构建出样式表规则将这些规则分别放到对应的DOM树节点上,得到一颗带有样式属性的DOM树。
前端知识补充说明之浏览器渲染页面的过程

第二步,布局

浏览器按从上到下,从左到右的顺序,读取DOM树的文档节点,顺序存放到一条虚拟的传送带上。传送带上的盒子就是节点,而这条流动的传送带就是文档流。如果我们读取到的节点是属于另一个节点下的子节点,那么在放入传送带的时候,就应该按顺序放到该节点盒子的内部。如果子节点下还有子节点,在传送带上的时候就继续套到子一级的盒子内部。根据它在DOM树上的结构,可以嵌套的层级没有限制的哦。文档流排完之后,开始获取计算节点的坐标和大小等CSS属性,作为盒子的包装说明。然后把盒子在仓库里一一摆放,这就将节点布局到了页面。
前端知识补充说明之浏览器渲染页面的过程

第三步,绘制页面

布局完成之后,我们在页面上其实是看不到任何内容的
浏览器只是计算出了每一个节点对象应该被放到页面的哪个位置上,但并没有可视化。
因此最后一步就是将所有内容绘制出来,完成整个页面的渲染。

前端知识补充说明之浏览器渲染页面的过程

二、总结

第一步: 浏览器通过http请求,拿到是一个html文本数据
第二步: 浏览器把html文本数据解析成一个倒树,就是的DOM构造
第三步:把DOM进行组装并把css样式一起对应到各个树节点上
第四布:通过样式和节点分布,完成在界面上的布局
第五步:布局完成后,就渲染出来


说明

作者:果冻公开课
链接:https://www.zhihu.com/question/34219998/answer/611326215
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。