首页 > 技术文章 > 浏览器渲染过程

xiaofish 2019-04-07 18:45 原文

过程:

1、解析HTML,构造DOM树

2、解析CSS,构造CSSOM树

3、将DOM树与CSSOM树合成为渲染树

4、根据渲染树进行布局,计算每个节点的几何信息

5、在屏幕上绘制各个节点

但除了渲染树的直接变化,当获取一些属性时,浏览器为取得 正确的值也会触发重排。这样就使得浏览器的优化失效了。

这些属性包括:offsetTop、offsetLeft、 offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、 clientTop、clientLeft、clientWidth、clientHeight、getComputedStyle() (currentStyle in IE)。

    1. css加载不会阻塞DOM树的解析
    2. css加载会阻塞DOM树的渲染
    3. css加载会阻塞后面js语句的执行

 浏览器对CSS阻塞渲染有两种处理方式,要么等css解析完一起渲染,chrome就是这么做的,但是会造成白屏;要么先把无样式的dom渲染出来等css解析好了再渲染一次,Firefox就是这么做的,但是会造成无样式内容闪烁

推荐阅读