今天在阅读 vite 官方文档的时候看到了这个词,有的面试题中也会提到,所以拿出来记录一下。

什么是FOUC(文档样式短暂失效)?

全称:FOUC - Flash Of Unstyled Content 文档样式闪烁

如果使用import方法对CSS进行导入,会导致某些页面在Windows 下的Internet Explorer出现一些奇怪的现象:以无样式显示页面内容的瞬间闪烁,这种现象称之为文档样式短暂失效(Flash of Unstyled Content),简称为FOUC。

IE会首先加载整个HTML文档的DOM,然后再导入外部的css文件。因此,在页面DOM加载完成到css导入完成之间,有一段时间页面上的内容是没有样式的,这段时间的长短跟网速和电脑速度都有关系。

形成原因

1,使用import方法导入样式表。

2,将样式表放在页面底部

3,有几个样式表,放在html结构的不同位置。

也就是说当样式表晚于结构性html加载,当加载到此样式表时,页面将停止之前的渲染。此样式表被下载和解析后,将重新渲染页面,也就出现了短暂的花屏现象。

解决方法

使用link标签将样式表放在文档head中。