CSS at 规则 @font-face 的描述符 font-display 根据字体是否以及何时下载和可以使用字体来确定字体的显示方式。
当用户代理尝试使用给定的下载字体时,一个时间开始,这决定了字体显示时间线。此时间线分为三个时期,这三个时期决定了使用此字体的元素的呈现行为:
- 字体块周期:当任何元素尝试使用未加载的字体时,必须呈现不可见的回退字体。在此期间成功加载字体后,将正常使用。
- 字体交换周期:当任何元素尝试使用未加载的字体时,必须呈现回退字体。在此期间成功加载字体后,将正常使用。
- 字体失败期:当字体未加载时,用户代理会将其视为加载失败,从而导致正常的字体回退。
可能的值
CSS 描述符 font-display 可以具有以下值之一:
- auto:用户代理定义字体显示的策略。
- block:字体被赋予一个短暂的块周期和无限交换周期。
- swap:字体被赋予一个非常短的块周期和无限的交换周期。
- fallback:字体表面被赋予一个非常短的阻止期和短暂的交换期。
- optional:字体被赋予极短的阻止期和无交换期。
注意:首选项 gfx.downloadable_fonts.fallback_delay 和 gfx.downloadable_fonts.fallback_delay_short 指定了 Firefox 中短周期和极短周期的持续时间。
语法
CSS font-display - auto 值
当 font-display 作为 auto 传递时,它会按照用户代理的定义呈现输出。在以下示例中,font-family 是 Sansation Light Font,因此 h1 元素中的文本将以指定的字体呈现。
CSS font-display - optional 值
以下示例演示了 font-display: optional 的用法:
CSS font-display - block 值
以下示例演示了 font-display: block 的用法: