Chrome浏览器渲染页面流程

渲染模块在执行过程中会被划分为很多子阶段,输入的HTML经过这些子阶段,最后输出像素。我们把这样的一个处理流程叫做渲染流水线。




〇、 浏览器加载资源

用户输入URL时,浏览器依赖网络模块加载html、css、js等资源数据。

一、 DOM树的构建

html解析器根据html文件,构建结点,生成DOM树。

DOM和html的内容几乎一摸一样,唯一不同的是DOM以树结构保存在内存中,可由js修改。

document.getElementsByTagName("p")[0].innerText="black";


二、样式计算

样式计算的目的是为了计算出DOM节点中每个元素的具体样式。

1、创建stylesheets(css规则树)

渲染引擎会把获取到的CSS文本全部转换为styleSheets结构中的数据,并且该结构同时具备了查询和修改功能,这会为后面的样式操作提供基础。
css样式来源主要有三种:

  1. 通过link引用的外部CSS文件