@font-feature-values
CSS правило @font-feature-values
позволяет использовать общее имя в свойстве font-variant-alternates
(en-US) для функций, которые по разному активируются в OpenType. Это может помочь упростить ваш 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()
(en-US) дляfont-variant-alternates
(en-US). Определение значения функции swash допускает только одно значение:ident1: 2
является действительным, ноident2: 2 4
нет. @annotation
- Устанавливает имя функции, которая будет работать с функциональной записью
annotation()
(en-US) дляfont-variant-alternates
(en-US). Определение значения функции допускает только одно значение:ident1: 2
действительным , ноident2: 2 4
нет. @ornaments
- Устанавливает имя функции, которая будет работать с функциональной записью
ornaments()
(en-US) дляfont-variant-alternates
(en-US). Определение значения функции ornaments допускает только одно значение:ident1: 2
является действительным, ноident2: 2 4
нет. @stylistic
- Specifies a feature name that will work with the
stylistic()
(en-US) functional notation offont-variant-alternates
(en-US). A stylistic feature value definition allows only one value:ident1: 2
is valid, butident2: 2 4
isn't. @styleset
- Specifies a feature name that will work with the
styleset()
(en-US) functional notation offont-variant-alternates
(en-US). A stylset feature value definition allows an unlimited number of values:ident1: 2 4 12 1
maps to the OpenType valuesss02
,ss04
,ss12
, andss01
. Note that values higher than99
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()
(en-US) functional notation offont-variant-alternates
(en-US). A character-variant feature value definition allows either one or two values:ident1: 3
maps tocv03=1
, andident2: 2 4
maps tocv02=4
, butident2: 2 4 5
is invalid.
Формальный синтаксис
@font-feature-values <family-name># (en-US) { <feature-value-block-list> }где
<family-name> = <string> (en-US) | (en-US) <custom-ident>+ (en-US)
<feature-value-block-list> = <feature-value-block>+ (en-US)где
<feature-value-block> = <feature-type> '{ (en-US)' <feature-value-declaration-list> '}'
где
<feature-type> = @stylistic | (en-US) @historical-forms | (en-US) @styleset | (en-US) @character-variant | (en-US) @swash | (en-US) @ornaments | (en-US) @annotation
<feature-value-declaration-list> = <feature-value-declaration>где
<feature-value-declaration> = <custom-ident>: <integer>+ (en-US);
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
CSS Fonts Module Level 3 Определение '@font-feature-values' в этой спецификации. |
Рекомендация | Начальное определение. |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Свойство
font-variant-alternates
(en-US) которое использует значения, определённые этим правилом.