@font-feature-values

基线 2023

新增功能

2023年3月起,此功能可在最新的设备和浏览器版本中使用。此功能可能在旧版设备或浏览器中无法使用。

@font-feature-values CSS At规则 允许您在 font-variant-alternates 属性中使用通用名称来表示在 OpenType 中以不同方式激活的特性。这可以帮助您在使用多种字体时简化 CSS。

@font-feature-values At规则可以用于 CSS 的顶层,也可以用于任何 CSS 条件组 At规则内部。

语法

每个 @font-feature-values 块包含一个特性值块列表(如下所示)或 font-display 描述符。

特性值块

@swash

指定一个特性名称,该名称将与 swash() 的函数表示法一起使用 font-variant-alternates。Swash 特性值定义仅允许一个值:ident1: 2 有效,但 ident2: 2 4 无效。

@annotation

指定一个特性名称,该名称将与 annotation() 的函数表示法一起使用 font-variant-alternates。Annotation 特性值定义仅允许一个值:ident1: 2 有效,但 ident2: 2 4 无效。

@ornaments

指定一个特性名称,该名称将与 ornaments() 的函数表示法一起使用 font-variant-alternates。Ornaments 特性值定义仅允许一个值:ident1: 2 有效,但 ident2: 2 4 无效。

@stylistic

指定一个特性名称,该名称将与 stylistic() 的函数表示法一起使用 font-variant-alternates。Stylistic 特性值定义仅允许一个值:ident1: 2 有效,但 ident2: 2 4 无效。

@styleset

指定一个特性名称,该名称将与 styleset() 的函数表示法一起使用 font-variant-alternates。Styleset 特性值定义允许无限多个值:ident1: 2 4 12 1 映射到 OpenType 值 ss02ss04ss12ss01。请注意,大于 99 的值有效,但不映射到任何 OpenType 值并被忽略。

@character-variant

指定一个特性名称,该名称将与 character-variant() 的函数表示法一起使用 font-variant-alternates。Character-variant 特性值定义允许一个或两个值:ident1: 3 映射到 cv03=1,而 ident2: 2 4 映射到 cv02=4,但 ident2: 2 4 5 无效。

正式语法

@font-feature-values = 
@font-feature-values <family-name># { <declaration-rule-list> }

<family-name> =
<string> |
<custom-ident>+

示例

在 @font-feature-values 规则中使用 @styleset

css
/* At-rule for "nice-style" in Font One */
@font-feature-values Font One {
  @styleset {
    nice-style: 12;
  }
}

/* At-rule for "nice-style" in Font Two */
@font-feature-values Font Two {
  @styleset {
    nice-style: 4;
  }
}/* Apply the at-rules with a single declaration */
.nice-look {
  font-variant-alternates: styleset(nice-style);
}

规范

规范
CSS 字体模块级别 4
# font-feature-values

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅