《浏览器渲染原理及流程》学习笔记

浏览器完整地呈现一张页面在我们眼帘之前,都做了啥工作?或者说,其步骤为何?

答案是构建各种树。所谓的树,那就是有兄弟、子孙等节点了。一棵树构造出来,各种元素的先后顺序就都有了。

有哪些树呢?这些树:

DOM Tree:浏览器将HTML解析成树形的数据结构。

CSS Rule Tree:浏览器将CSS解析成树形的数据结构。

Render Tree: DOM和CSSOM合并后生成Render Tree。

layout: 有了Render Tree,浏览器已经能知道网页中有哪些节点、各个节点的CSS定义以及他们的从属关系,从而去计算出每个节点在屏幕中的位置。

painting: 按照算出来的规则,通过显卡,把内容画到屏幕上。

期间会有一些二月逆流:reflow(回流)和 repaint(重绘)。

注意:上述这个过程是逐步完成的,为了更好的用户体验,渲染引擎将会尽可能早的将内容呈现到屏幕上,并不会等到所有的html都解析完成之后再去构建和布局render树。它是解析完一部分内容就显示一部分内容,同时,可能还在通过网络下载其余内容。

有学习必有输出,《浏览器渲染原理及流程》是高手的学习笔记,然后我现在拜读了他的学习笔记后又写了这篇学习笔记。

参考资料:
浏览器渲染原理及流程

posted on 2017-04-17 20:00  左直拳  阅读(133)  评论(0编辑  收藏  举报

导航