FOUC即Flash of Unstyled Content,也称为文档样式短暂失效,是指在HTML已加载而样式表并未加载,此后样式表再加载而产生的闪烁现象。
要避免FOUC,可以采取以下措施:
- 样式表前置:将CSS在<head>中引入或者嵌入,相对于将CSS放到<body>或者页面底部来说,可以使页面渲染速度加快,这对于页面内容比较丰富的网站或者网络链接较慢时相当重要。
- 尽量避免使用@import:尽量使用<link>而避免使用@import,当HTML文件被加载时,<link>引用的文件会同时被加载,而@import引用的文件则会等页面全部下载完毕再被加载,所以有时候浏览
@import加载CSS的页面时会没有样式,会出现FOUC现象,网速慢的时候就比较明显。此外当<link>与@import混用可能会对网页性能有负面影响,在一些低版本IE中<link>与@import混用会导致样式表文件逐个加载,破坏并行下载的方式导致页面加载变慢。
总的来说,要避免FOUC,关键在于确保样式表最先渲染。