【发布时间】:2020-06-01 03:01:54
【问题描述】:
所以我到处都读到 CSS 是 渲染阻塞。尽管这与 <script> 标签引起的阻塞不同,因为它不会暂停 HTML 解析。浏览器基本上等待 CSSOM 被构建,然后只向网页呈现任何内容。因此,当 CSS 加载较晚时,会影响网页的加载时间。但我不明白的是,如果是这种情况,FOUC(无样式内容的Flash)是如何引起的? FOUC 基本上是当浏览器暂时显示没有样式的 HTML 时,然后当 CSS 可用时,它会显示正确样式的页面。所以如果浏览器总是在渲染任何东西之前等待 CSS 被加载和解析,FOUC 就不应该发生。
【问题讨论】:
-
CSSOM 可以在异步请求结束之前构建,甚至可能在同步操作全部执行之前构建(例如在 FireFox 中,this fiddle 将呈现无样式的文档,直到您关闭警报,Chrome 的行为不同这里)