浏览器渲染机制

浏览器的渲染过程主要包括:

  • 解析html标签,构建DOM树;
  • 解析CSS标签,构建CSSOM树;
  • 把DOM树和CSSOM树组合成渲染树;
  • 在渲染树的基础上进行布局,计算每个节点的几何结构;
  • 把每个节点绘制到屏幕上。

大致如下图:


image.png

在一个网页从发送请求到在页面上显示出来,这些过程是会重复出现的。

浏览器向服务器请求到html代码后,开始遍历文档节点,构建DOM树,DOM 树的构建过程是一个深度遍历过程:当前节点的所有子节点都构建好后才会去构建当前节点的下一个兄弟节点。

当遍历到link标签时,浏览器会向服务器请求相应的css文件,文件加载完毕则会立即开始解析,构建CSSOM树,这个过程不会阻塞DOM树的建立,html和css的解析是可以并发进行的,所以css应该放置在页面顶部,这样可以缩短网页加载的时间。

当遍历到script标签时,会加载并执行JavaScript脚本,这样会阻塞DOM的构建,直到脚本执行完成才会继续构建DOM,所以Script标签要放在页面底部。

DOM树、CSSOM树、渲染树都可能在第一次Painting后又被更新多次,比如JS修改了DOM或者CSS属性、图片下载完成后网页需要更新,在这些情况下,布局和绘制都会重复进行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 浏览器指的是Chrome系浏览器【Firefox大同小异,IE未知】以下提到的“节点”、“标签”和“元素”不做区分...
    Yieiy阅读 4,127评论 4 26
  • 关键渲染路径 浏览器从接收到页面开始到页面显示,这整个过程中的所有步骤,称为关键渲染路径。用户看到页面实际上可以分...
    ZombieBrandg阅读 512评论 0 0
  • 一、CSS和JS在网页中的放置顺序是怎样的? 推荐的放置顺序是将css通过 链接引入,放在head标签内部;而JS...
    青鸣阅读 350评论 0 0
  • 参考链接:浏览器渲染的那些事(一)浏览器内部工作原理浏览器的渲染原理简介有关网页渲染,每个前端开发者都该知道的那点...
    恰皮阅读 523评论 3 1
  • 大体分为以下步骤:1.解析HTML标签,构建DOM树。2.解析CSS标签,构建CSSOM树。3.把DOM和CSSO...
    饥人谷_张乐阅读 348评论 0 1