浏览器是如何渲染页面和加载页面

为什么有些网站打开的时候会加载很慢,而且是整个页面同时显示的,而有些网站是从顶到下逐步显示出来的?要搞懂这个可以先从下面这个常规流程开始:

    1.浏览器下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。

    2.在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完成)。

    3.如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独链接进行下载。

    4.并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。

    5.样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。

    6.JS,CSS中如有重定义,后定义函数将覆盖前定义函数。

这里关键的是第2-5这三点。渲染效率与下面三点有关:

  1. CSS 选择器的查询定位效率

  2. 浏览器的渲染模式和算法

  3. 要进行渲染内容的大小


猜你喜欢

转载自blog.csdn.net/leeningfeng/article/details/79395129