

新闻资讯
技术学院FOUC 根源是 HTML 先渲染后加载 CSS,解决方法:内联首屏关键 CSS(≤14KB),用 preload 提前加载主样式表,禁用 JS 延迟主题切换,优化字体/图标/CSS-in-JS 加载策略。
页面刷新时样式闪一下(FOUC,Flash of Unstyled Content),通常是因为浏览器先渲染了未加载完 CSS 的 HTML,等样式加载后再重绘。将关键 CSS 内联到 中,能确保首屏内容在首次绘制时就带样式,从根源上避免闪烁。
不是把整个 CSS 文件都塞进 ,而是提取影响首屏(Above-the-Fold)渲染的最小必需样式,比如头部、导航、首屏标题/按钮的字体、颜色、布局规则。可用工具如 critical 自动提取,或手动梳理后内联:
内联只解决首屏,后续样式仍需加载。用 提示浏览器高优先级获取主样式表,减少样式切换延迟:
onload 回调动态切换 rel,避免阻塞渲染 中直接写 (会阻塞渲染)有些项目用 JS 动态加 class 或切换主题,若执行晚于首次渲染,也会造成视觉跳变:
dark)直接写在 标签上,由服务端或初始 HTML 决定DOMContentLoaded 后才去读取 localStorage 并切主题style[media="print"] 占位 + JS 加载后移除,实现平滑过渡某些字体、图标库或 CSS-in-JS 库(如 styled-components)可能异步注入样式,导致二次重绘:
font-display: swap 防止文本不可见,但要搭配本地字体 fallback