Baseline 2023
Newly available
The @font-feature-values
CSS at-rule lets you use a common name in the font-variant-alternates
property for features activated differently in OpenType. This can help simplify your CSS when using multiple fonts.
The @font-feature-values
at-rule may be used either at the top level of your CSS or inside any CSS conditional-group at-rule.
@font-feature-values Font Name {
font-display: swap;
@styleset {
nice-style: 12;
}
@swash {
fancy: 2;
}
}
Each @font-feature-values
block can contain a list of feature value blocks (listed below), as well as the font-display
descriptor.
@swash
Specifies a feature name that will work with the swash()
functional notation of font-variant-alternates
. A swash feature value definition allows only one value: ident1: 2
is valid, but ident2: 2 4
isn't.
@annotation
Specifies a feature name that will work with the annotation()
functional notation of font-variant-alternates
. An annotation feature value definition allows only one value: ident1: 2
is valid, but ident2: 2 4
isn't.
@ornaments
Specifies a feature name that will work with the ornaments()
functional notation of font-variant-alternates
. An ornaments feature value definition allows only one value: ident1: 2
is valid, but ident2: 2 4
isn't.
@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 styleset 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 =Examples Using @styleset in a @font-feature-values rule
@font-feature-values <family-name># { <declaration-rule-list> }<family-name> =
<string> |
<custom-ident>+
/* 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);
}
Specifications Browser compatibility See also
font-variant-alternates
property that uses values that this at-rule defines.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4