CSS 阻止渲染
当页面有可用的 CSS 时,无论是内联样式表还是外部样式表,浏览器都会延迟渲染,直到 CSS 被解析。这是因为没有 CSS 的页面通常无法使用。如果浏览器向您显示一个没有 CSS 的杂乱页面,那么片刻之后就会进入一个样式化的页面,不断变化的内容和突然的视觉变化会造成混乱的用户体验。
CSS 可以阻止 HTML 解析
尽管浏览器在解析完 CSS 之前不会显示内容,但它会处理 HTML 的其余部分。但是,脚本会阻塞解析器,除非它们被标记为defer或async。脚本可能会操纵页面和其余代码,因此浏览器必须小心该脚本何时执行。
因为脚本会影响应用到页面的样式,所以如果浏览器仍在处理一些 CSS,它会等到完成后再运行脚本。由于在脚本运行之前它不会继续解析文档,这意味着 CSS 不再只是阻止呈现——取决于文档中外部样式表和脚本的顺序,也可能会停止 HTML 解析。