FOUC(Flash of Unstyled Content,无样式内容闪烁)
原理:
当样式表晚于结构性html加载,当加载到此样式表时,页面将停止之前的渲染。此样式表被下载和解析后,将重新渲染页面,也就出现了短暂的花屏现象.
产生原因:
FOUC的产生和浏览器的渲染机制有关.主要是由于浏览器先显示已加载的HTML内容,等到CSS加载完成后重新对内容添加样式导致,主要代表有Firefox。导致FOUC的原因有以下三种:
- 使用
@import
导入样式表; - 将样式表放在页面底部;
- 有几个样式表,放在页面不同位置。
解决办法:
使用LINK
标签将样式表放在文档HEAD中;
白屏
产生原因:
- 将
CSS
文件放在HTML文档的最后; - 使用
@import
导入样式表(通过@import引入的CSS文件会被最后加载); - 将
JS
文件放在头部,未使用defer
或async
延迟或异步加载JS文件,导致JS阻塞HTML和CSS的加载;
解决方法和FOUC一样.