font-display 是 CSS 中的一个属性,它用于控制如何显示未加载完全的字体。这个属性对于优化网页性能和用户体验非常有用,因为它可以避免“闪烁的无形文本”(FOUT, Flash of Unstyled Text)和其他与字体加载相关的延迟问题。font-display 属性有几个关键字值,它们各自有不同的含义:
auto:这是默认值,表示浏览器应该根据字体的加载情况来决定是否回退到临时字体,直到实际的字体下载完成。这实际上是一个智能选择,浏览器会尝试平衡加载时间和视觉稳定性。
block:如果字体在一定时间内没有加载完成,则不会显示文本直到字体加载完毕。这可能会导致用户看到一个空白区域,直到字体完全加载。
swap:立即使用替代字体,并且一旦期望的字体加载完成就替换掉替代字体。这种方法可能导致文本在页面上突然变化大小或位置,因为字体样式可能不同。
fallback:立即使用替代字体,并且只在替代字体没有覆盖所有需要的字符时才请求目标字体。
optional:表示如果字体无法快速加载,那么可以忽略该字体,继续使用浏览器的默认字体或者任何其他已定义的备选字体。