此处介绍的纯 CSS 解决方案均不适用于现代浏览器(异步加载 css 和字体)。你必须使用Javascript。我为避免 FOUC 所做的是: <html> <body onload="document.body.style.visibility=`visible`;"> <script>document.body.style.visibility=`hidden`;</script> 使用这种方法,我的网页正文会一直隐藏,直到加载完整页面和 CSS 文件。加载完所有内容后,onload 事件会使主体可见。因此,网络浏览器保持空白,直到屏幕上弹出所有内容。 这是一个简单的解决方案,但到目前为止它正在工作。 这不会影响禁用 Javascript 的用户,因为 <script> 标签被忽略。 原文由 Álvaro Durán 发布,翻译遵循 CC BY-SA 4.0 许可协议
此页面上的每个答案都会减慢负载,并且只会隐藏根本问题。如果您遇到 FOUC,请找出它发生的原因并加以解决。 在核心,这正在发生: 因为您的样式表没有正确加载:它们应该通过 HTML 中的 link 标签加载,而不是通过 JavaScript 因为您将 --- 标签放在 script link 之前,这可能会强制执行“布局操作”并诱使浏览器在尝试加载样式之前进行渲染。 作为参考,以下是 FOUC 的示例: 原文由 fregante 发布,翻译遵循 CC BY-SA 4.0 许可协议
此处介绍的纯 CSS 解决方案均不适用于现代浏览器(异步加载 css 和字体)。你必须使用Javascript。我为避免 FOUC 所做的是:
使用这种方法,我的网页正文会一直隐藏,直到加载完整页面和 CSS 文件。加载完所有内容后,onload 事件会使主体可见。因此,网络浏览器保持空白,直到屏幕上弹出所有内容。
这是一个简单的解决方案,但到目前为止它正在工作。
这不会影响禁用 Javascript 的用户,因为
<script>
标签被忽略。