浏览器渲染机制

解析HTML标签, 构建DOM树

首先,浏览器在请求得到HTML文档后,会把HTML文档解析成DOM树,对于css和图片浏览器会并行加载,这个请求是异步的,并不会影响html文件。但是加载的过程中要是遇到js文件,html的渲染进程会被挂起,等待js加载完之后再继续渲染html文件;由于js可能会修改DOM结构,所以可能导致后面加载的html还要重新渲染,这样就浪费了前面加载的时间,所以js文件一般都放在页面的底部;

生成DOM树的过程中浏览器会从上到下遍历每个节点,包括元素节点、属性节点、文本节点;

解析CSS标签, 构建CSSOM树

加载完CSS文件之后,就开始构建CSSOM

把DOM和CSSOM组合成渲染树(render tree)

等CSSOM构件完成之后,会把它和DOM结合起来,一起生成render tree

Layout:在渲染树的基础上进行布局, 计算每个节点的几何结构

生成render tree之后,浏览器就知道了页面中有哪些节点,节点的从属关系,以及相应节点的CSS样式;这个时候浏览器就会计算每个节点几何结构也就是节点的位置;

Painting:把每个节点绘制到屏幕上

在计算完每个节点的几何结构之后,浏览器就知道哪些节点需要显示或隐藏,每个节点摆放的位置以及每个节点的css样式;这个时候就把每个节点按照计算出来的规则绘制到屏幕上

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

推荐阅读更多精彩内容

  • 浏览器指的是Chrome系浏览器【Firefox大同小异,IE未知】以下提到的“节点”、“标签”和“元素”不做区分...
    Yieiy阅读 4,129评论 4 26
  • 大体分为以下步骤:1.解析HTML标签,构建DOM树。2.解析CSS标签,构建CSSOM树。3.把DOM和CSSO...
    饥人谷_张乐阅读 354评论 0 1
  • 参考链接:浏览器渲染的那些事(一)浏览器内部工作原理浏览器的渲染原理简介有关网页渲染,每个前端开发者都该知道的那点...
    恰皮阅读 525评论 3 1
  • 一、CSS和JS在网页中的放置顺序是怎样的? 推荐的放置顺序是将css通过 链接引入,放在head标签内部;而JS...
    青鸣阅读 350评论 0 0
  • CSS和JS在网页中的放置顺序是怎样的? 为什么引入js文件? 因为网页 = Html+CSS+JavaScrip...
    好奇而已阅读 937评论 0 0