必须内联首屏关键CSS,否则所有优化都压不住FOUC;因Bootstrap默认用@import引入或CSS位置靠后,导致浏览器多等一个RTT(300–800ms)才获取样式,DOM已渲染默认样式后重绘,引发人眼可辨的闪烁。

必须内联首屏关键CSS,否则所有优化都压不住FOUC——这是Bootstrap首屏闪烁最硬的约束条件。
为什么bootstrap.min.css放
不是没加CSS,而是加载路径太长:@import引入、CSS放在HTML靠后位置、或用JS动态注入,都会让浏览器多等一个RTT(300–800ms)才拿到样式。DOM已开始渲染,默认样式先画一遍,再重绘,人眼就能看到“白→色块→跳变”。
-
bootstrap.min.css体积通常150–200KB(未压缩),哪怕只用.container和.btn,浏览器也得下载解析全部规则 - Chrome DevTools Coverage面板显示:首屏实际只用到约5%的规则,其余全是冗余
- 写
<link rel="stylesheet" media="(min-width: 768px)">?手机端直接异步加载,首屏无样式
怎么提取并内联真正该上头的关键CSS
别猜,用Coverage + critical CLI生成基础块,再人工删减。目标是