我知道浏览器渲染页面时,首先构建DOM和CSSOM,然后合并成渲染树,然后对渲染树进行布局之后进行绘制。
但是这里我有两个问题。
1:前端优化里有条规则是说为了更快的渲染,将css放在头部,否则会出现FOUC(谷歌的表现为白屏,火狐为闪烁)。那我的问题是构建渲染树的同时绘制,还是等渲染树完全构建完成后进行绘制(也就是解析到html最后一个标签)?从谷歌开发工具来看并不是DOMContentLoaded后渲染。

2:我知道JS会阻塞DOM树构建,那是不是在script标签后面如果有css文件,就要等JS执行完才继续构建渲染树,然后绘制?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
1:浏览器执行的所有步骤:
处理 HTML 标记,构建 DOM 树。
处理 CSS 标记,构建 CSSOM 树。
将 DOM 树和 CSSOM 树融合成渲染树。
根据渲染树来布局,计算每个节点的几何信息。
在屏幕上绘制各个节点。
2:浏览器会延迟脚本执行,直到完成 CSSOM 下载与构建,而在我们等待时,DOM 构建同样被阻塞。
我也是根据参考资料来尝试回答问题,可以前往构建对象模型