@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.

Die @font-feature-values CSS At-Regel ermöglicht es Ihnen, einen gemeinsamen Namen in der font-variant-alternates-Eigenschaft für unterschiedlich in OpenType aktivierte Features zu verwenden. Dies kann helfen, Ihr CSS zu vereinfachen, wenn Sie mehrere Schriftarten verwenden.

Die @font-feature-values At-Regel kann entweder auf der obersten Ebene Ihres CSS oder innerhalb einer beliebigen CSS-Bedingungsgruppen-At-Regel verwendet werden.

Syntax

css
@font-feature-values Font Name {
  font-display: swap;
  @styleset {
    nice-style: 12;
  }
  @swash {
    fancy: 2;
  }
}

Jeder @font-feature-values-Block kann eine Liste von Feature-Wertblöcken (unten aufgeführt) sowie den font-display-Deskriptor enthalten.

Feature-Wertblöcke

@swash

Spezifiziert einen Feature-Namen, der mit der swash() Funktionalnotation von font-variant-alternates funktioniert. Eine Swash-Feature-Wertdefinition erlaubt nur einen Wert: ident1: 2 ist gültig, aber ident2: 2 4 ist es nicht.

@annotation

Spezifiziert einen Feature-Namen, der mit der annotation() Funktionalnotation von font-variant-alternates funktioniert. Eine Annotations-Feature-Wertdefinition erlaubt nur einen Wert: ident1: 2 ist gültig, aber ident2: 2 4 ist es nicht.

@ornaments

Spezifiziert einen Feature-Namen, der mit der ornaments() Funktionalnotation von font-variant-alternates funktioniert. Eine Ornament-Feature-Wertdefinition erlaubt nur einen Wert: ident1: 2 ist gültig, aber ident2: 2 4 ist es nicht.

@stylistic

Spezifiziert einen Feature-Namen, der mit der stylistic() Funktionalnotation von font-variant-alternates funktioniert. Eine stilistische Feature-Wertdefinition erlaubt nur einen Wert: ident1: 2 ist gültig, aber ident2: 2 4 ist es nicht.

@styleset

Spezifiziert einen Feature-Namen, der mit der styleset() Funktionalnotation von font-variant-alternates funktioniert. Eine Styleset-Feature-Wertdefinition erlaubt eine unbegrenzte Anzahl von Werten: ident1: 2 4 12 1 wird zu den OpenType-Werten ss02, ss04, ss12 und ss01 zugeordnet. Beachten Sie, dass Werte größer als 99 gültig sind, aber keinen OpenType-Werten zugeordnet werden und ignoriert werden.

@character-variant

Spezifiziert einen Feature-Namen, der mit der character-variant() Funktionalnotation von font-variant-alternates funktioniert. Eine Zeichenvarianten-Feature-Wertdefinition erlaubt entweder einen oder zwei Werte: ident1: 3 wird zu cv03=1, und ident2: 2 4 wird zu cv02=4, aber ident2: 2 4 5 ist ungültig.

Formale Syntax

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

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

Beispiele

Verwendung von @styleset in einer @font-feature-values-Regel

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);
}

Spezifikationen

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

Browser-Kompatibilität

Siehe auch