@font-feature-values

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

CSS @-правило @font-feature-values позволяет использовать общее имя в свойстве font-variant-alternates для функций, которые по разному активируются в OpenType. Это может помочь упростить ваш CSS при использовании нескольких шрифтов.

css
/* Правило для "хорошего стиля" в Font One */
@font-feature-values Font One {
  @styleset {
    nice-style: 12;
  }
}

/* Правило для "хорошего стиля" в Font Two */
@font-feature-values Font Two {
  @styleset {
    nice-style: 4;
  }
}

…

/* Применение правила с единственным объявлением */
.nice-look {
  font-variant-alternates: styleset(nice-style);
}

Правило @font-feature-values может использоваться как на вернём уровне вашего CSS так и внутри любого условного CSS-правила.

Синтаксис

Блоки значений функций

@swash

Устанавливает имя функции, которая будет работать с функциональной записью swash() для font-variant-alternates. Определение значения функции swash допускает только одно значение: ident1: 2 является действительным, но ident2: 2 4 нет.

@annotation

Устанавливает имя функции, которая будет работать с функциональной записью annotation() для font-variant-alternates. Определение значения функции допускает только одно значение: ident1: 2 действительным , но ident2: 2 4 нет.

@ornaments

Устанавливает имя функции, которая будет работать с функциональной записью ornaments() для font-variant-alternates. Определение значения функции ornaments допускает только одно значение: ident1: 2 является действительным, но ident2: 2 4 нет.

@stylistic

Specifies a feature name that will work with the stylistic() functional notation of font-variant-alternates. A stylistic feature value definition allows only one value: ident1: 2 is valid, but ident2: 2 4 isn't.

@styleset

Specifies a feature name that will work with the styleset() functional notation of font-variant-alternates. A stylset feature value definition allows an unlimited number of values: ident1: 2 4 12 1 maps to the OpenType values ss02, ss04, ss12, and ss01. Note that values higher than 99 are valid, but don't map to any OpenType values and are ignored.

@character-variant

Specifies a feature name that will work with the character-variant() functional notation of font-variant-alternates. A character-variant feature value definition allows either one or two values: ident1: 3 maps to cv03=1, and ident2: 2 4 maps to cv02=4, but ident2: 2 4 5 is invalid.

Формальный синтаксис

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

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

Спецификации

Specification
CSS Fonts Module Level 4
# font-feature-values

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Свойство font-variant-alternates которое использует значения, определённые этим правилом.