SSR页面加载时出现样式闪烁,怎么解决?

光纬 Dev 阅读 52

我在用 Next.js 做 SSR 渲染时,首页首次加载会先显示无样式的 HTML,然后才突然“跳”出 CSS,看起来很卡。明明 CSS 是内联在 head 里的,也用了 styled-jsx,但还是有 FOUC(Flash of Unstyled Content)。

我试过把关键样式提取出来放 <style> 标签里,也检查了是不是动态导入导致的,但问题还在。下面是我写的一个简单按钮样式:

.primary-btn {
  background: #3b82f6;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
}

这种 SSR 下的样式闪烁到底该怎么彻底解决?

我来解答 赞 13 收藏
二维码
手机扫码查看
2 条解答
UX-文阁
UX-文阁 Lv1
styled-jsx 的样式没渲染到 HTML 里才会闪烁。先检查页面源码,看