贝利信息

css图标库加载后闪动怎么办_link使用font-display属性说明

日期:2025-12-09 00:00 / 作者:P粉602998670
使用 font-display: swap 是解决 CSS 图标库加载闪动的最有效方案,需在 @font-face 中设置而非 link 标签;配合 woff2 格式、preload 和 SVG 替代可进一步优化。

CSS图标库加载后闪动,本质是字体文件异步加载导致的“FOIT(Flash of Invisible Text)”或“FOUT(Flash of Unstyled Text)”。使用 font-display 是最直接有效的解决方案。

font-display 属性的作用

它控制自定义字体(比如图标字体:FontAwesome、Iconfont 等)在加载过程中的渲染行为,决定浏览器是“先显示空白/回退字体”还是“等字体加载完再显示”,从而避免图标突然出现或文字跳变。

常用值及适用场景

如何正确配置 font-display

不能只靠 标签设置,必须配合 @font-face 规则生效:

✅ 正确写法(以 Iconfont 为例):


@font-face {
  font-family: 'iconfont';
  src: url('iconfont.woff2') format('woff2');
  font-display: swap;
}

⚠️ 注意: 本身不支持 font-display 属性;它只是引入样式表,真正起作用的是样式表内部的 @font-face 声明。

额外优化建议

基本上就这些。核心就是:改 @font-face,设 swap,别指望 标签自己搞定。