JavaScript 和图像往往会成为网站速度慢的罪魁祸首,但 Harry 清楚地解释了为什么 CSS 同样是罪魁祸首,并且更难处理。
- 浏览器在构建渲染树之前无法渲染页面;
- 渲染树是 DOM 和 CSSOM 的组合结果;
- DOM 是 HTML 加上任何需要对其进行操作的阻塞 JavaScript;
- CSSOM 是应用于 DOM 的所有 CSS 规则;
- 使用
async
和defer
属性轻松使 JavaScript 非阻塞
属性;- 使 CSS 异步化要困难得多;
- 因此,需要记住的一条经验法则是 **您的页面渲染速度仅与最慢的样式表一样快**。
有很多选项可以更好地处理这个问题,包括一些 HTTP/2 解锁的有趣事物。
查看 Šime Vidas 的见解。所有内容都很吸引人,但渐进渲染方面特别酷。我怀疑许多 CSS-in-JS 库可以/应该帮助以这种方式做事。