第18天 什么是FOUC?你是如何避免FOUC的?
font-display
简单来说就是使用当文档结构表(HTML)先于样式表(CSS)渲染,这时候渲染出来的是没有样式的页面,然后当浏览器解析到样式表的时候,又结合样式表重新渲染了一遍文档,这时候页面就添加了样式,而前后两次的页面变换会出现一瞬间的闪烁。
解决办法也很简单,就是确保样式表最先渲染即可,比如css样式表添加到head标签中。
FOUC 即 Flash of Unstyled Content,是指页面一开始以样式 A(或无样式)的渲染,突然变成样式B。
原因是样式表的晚于 HTML 加载导致页面重新进行绘制。
@import 方式导入样式表解决方法:把 link 标签将样式放在 head 中
参考文档:什么是 FOUC?如何避免 FOUC?
前面有一个问题就是关于style放在head中和放在body中有什么区别
cssdom和htmldom是并行的,如果cssdom放在了body中会影响htmldom,从而导致html页面重新绘制,可能会白屏情况
html结构加载完成后再加载css样式表,当网速慢的时候会出现闪烁,用@import导入样式文件会出现这种情况,解决方法是用link导入样式文件,在加载html时同步加载样式
第一次听,敲一遍增加记忆, FOUC 指的是先展示节点,css 后加载,原因是 采用了 @import 活着 style放在 body中,解决方案 使用 link 链接css 并放在head中。优先加载
FOUC:加载时样式突然变化
原因:由于在渲染HTML时,遇到CSS样式表会重新渲染HTML
样式表没有放到head里面
使用了@import导入样式
解决:尽量把样式表放到body标签上面
我不喜欢这类的英文简写,我之前做过各类CAD的集成,CAD行业也会有很多简写,说实在的一般制造业公司内部也会有很多简写,真心记不住这些简写,而且好多简写会撞库,头大。
Most helpful comment
FOUC 即 Flash of Unstyled Content,是指页面一开始以样式 A(或无样式)的渲染,突然变成样式B。
原因是样式表的晚于 HTML 加载导致页面重新进行绘制。
@import方式导入样式表解决方法:把
link标签将样式放在head中参考文档:什么是 FOUC?如何避免 FOUC?