浏览器将html代码渲染成页面流程简单介绍

快乐打工仔 分类:实例代码

无论网站是动态的,还是静态,最终返回客户端的都是HTML代码。

这些HTML代码会经过浏览器的处理,最终将各种各样的页面展现在用户面前。

下面介绍一下浏览器对HTML代码的渲染流程。

一.浏览器解析:

(1).DOM:

DOM对象是浏览器解析HTML脚本生成的,最终输出一个树状结构的对象。

(2).CSSOM:

CSSOM对象是浏览器解析CSS脚本生成的,最终也是输出类似DOM的树状结构。

(3).RenderTree:

DOM与CSSOM 融合成一棵RenderTree(渲染树),随后计算每个可见元素的布局,并输出给绘制过程,在屏幕上渲染像素。优化这里的每一步对实现最佳渲染性能至关重要。

构建的过程如下:

前端教程

二.布局:

有了渲染树,就进入布局阶段。根据渲染树种确定的每个DOM元素的样式规则,浏览器就能具体计算每个DOM元素最终在屏幕上显示的大小位置,宽高等等几何属性。由于文档流中的布局是相对的,因此每个元素的布局发生变化,会联动引发其他元素的布局变化。

三.绘制:

绘制就是在已确定了几何属性的元素上填充像素,比如绘制文字,颜色,图像,边框,阴影等等可视元素。

这期间会产生多个图层。

合并渲染层:

到这里,浏览器的渲染过程就接近尾声。每个图层绘制完,浏览器会将其按照合理的顺序合并到同一图层,并显示在浏览器上。

四.工具:

借助ChromeDevTools等工具,我们能深入了解浏览器处理的整个过程。

前端教程

回复

我来回复
  • 暂无回复内容