在浏览器中输入网址并按下回车键后,浏览器开始执行一系列操作,将网页转换为我们能够看到的页面。以下是渲染流水线中的每一步详细说明:
-
处理 HTML
浏览器将 HTML 代码解析成一个 DOM 树。在此过程中,浏览器会检查 HTML 语法错误,并进行必要的修复。如果 HTML 代码有错误,浏览器会尽量避免渲染该错误代码。
-
处理 CSS
浏览器将 CSS 样式解析成一个 CSSOM 树。CSSOM 树和 DOM 树非常相似,但是表示的是样式信息。在解析 CSS 时,浏览器会考虑样式的层叠顺序、继承、优先级等因素,最终生成一个匹配的样式规则列表。
-
构建渲染树
浏览器将 DOM 树和 CSSOM 树合并,生成渲染树。渲染树只包含需要在页面上显示的节点,例如
display属性值为none的节点不会出现在渲染树中。渲染树的节点会包含所有的样式信息,以及计算出的位置和尺寸信息。 -
布局
布局(也称为回流)是根据渲染树的节点计算它们在屏幕上的精确位置和尺寸。布局过程需要考虑诸多因素,例如屏幕的大小、字体的大小、元素的盒模型等。
-
绘制
在绘制(也称为重绘)阶段,浏览器将渲染树中的每个节点绘制成屏幕上的像素点。绘制过程包括填充颜色、描边、渐变等,最终形成我们能够看到的网页界面。
-
呈现
呈现(也称为合成)是指将绘制的像素点合成为图像,并输出到屏幕上。在呈现阶段,浏览器会对像素点进行处理,例如合并透明度,使最终呈现的图像更加清晰。