font-variation-settings

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.

Die font-variation-settings CSS Eigenschaft bietet eine niedrige Kontrollmöglichkeit über die Merkmale von variablen Schriften, indem Sie die vier Buchstaben langen Achsennamen der Merkmale, die Sie variieren möchten, zusammen mit ihren Werten angeben.

Probieren Sie es aus

font-variation-settings: "wght" 50;
font-variation-settings: "wght" 850;
font-variation-settings: "wdth" 25;
font-variation-settings: "wdth" 75;
<section id="default-example">
  <p id="example-element">
    ...it would not be wonderful to meet a Megalosaurus, forty feet long or so,
    waddling like an elephantine lizard up Holborn Hill.
  </p>
</section>
@font-face {
  src: url("/shared-assets/fonts/variable-fonts/AmstelvarAlpha-VF.ttf");
  font-family: Amstelvar;
  font-style: normal;
}

p {
  font-size: 1.5rem;
  font-family: Amstelvar;
}

Syntax

css
/* Use the default settings */
font-variation-settings: normal;

/* Set values for variable font axis names */
font-variation-settings: "xhgt" 0.7;

/* Global values */
font-variation-settings: inherit;
font-variation-settings: initial;
font-variation-settings: revert;
font-variation-settings: revert-layer;
font-variation-settings: unset;

Werte

Der Wert dieser Eigenschaft kann eine von zwei Formen annehmen:

normal

Text wird mit Standardeinstellungen dargestellt.

<string> <number>

Beim Rendern von Text wird die Liste der Achsennamen der variablen Schriftarten an die Textlayout-Engine übergeben, um Schriftmerkmale zu aktivieren oder zu deaktivieren. Jede Einstellung besteht immer aus einem oder mehreren Paaren, bestehend aus einem <string> mit 4 ASCII-Zeichen, gefolgt von einer <number> Angabe, die den Achsenwert bestimmt. Wenn das <string> mehr oder weniger Zeichen hat oder Zeichen außerhalb des U+20 - U+7E Codepunktbereichs enthält, ist die gesamte Eigenschaft ungültig. Die <number> kann je nach verfügbarem Wertebereich in Ihrer Schriftart, wie vom Schriftgestalter definiert, bruchteilhaft oder negativ sein.

Beschreibung

Diese Eigenschaft ist ein Niedrig-Level-Mechanismus, um variable Schriftmerkmale zu setzen, wenn keine andere Möglichkeit existiert, um diese Merkmale zu aktivieren oder darauf zuzugreifen. Sie sollten sie nur verwenden, wenn keine grundlegenden Eigenschaften existieren, um diese Merkmale zu setzen (z.B. font-weight, font-style).

Die mit font-variation-settings festgelegten Schriftmerkmale überschreiben immer die mit den entsprechenden grundlegenden Schriftarten-Eigenschaften festgelegten Merkmale, z.B. font-weight, unabhängig davon, wo sie im Cascade erscheinen. In einigen Browsern trifft dies derzeit nur zu, wenn die @font-face-Deklaration einen font-weight-Bereich enthält.

Registrierte und benutzerdefinierte Achsen

Variable Schriftachsen gibt es in zwei Typen: registrierte und benutzerdefinierte.

Registrierte Achsen sind die am häufigsten anzutreffenden — so häufig, dass die Autoren der Spezifikation sie für eine Standardisierung hielten. Beachten Sie, dass dies nicht bedeutet, dass der Autor alle in seiner Schriftart einbeziehen muss.

Hier sind die registrierten Achsen sowie ihre entsprechenden CSS-Eigenschaften:

Achsen-Tag CSS-Eigenschaft
"wght" font-weight
"wdth" font-stretch
"slnt" (schräg) font-style: oblique + angle
"ital" font-style: italic
"opsz" font-optical-sizing

Benutzerdefinierte Achsen können alles sein, was der Schriftgestalter in ihrer Schrift variieren möchte, beispielsweise Auf- oder Abstrichhöhen, die Größe der Serifen oder alles andere, was er sich vorstellen kann. Jede Achse kann verwendet werden, solange sie eine eindeutige 4-Zeichen Achsenbezeichnung erhält. Einige werden schließlich häufiger vorkommen und könnten sogar im Laufe der Zeit registriert werden.

Hinweis: Registrierte Achsen-Tags werden mittels kleingeschriebener Tags identifiziert, während benutzerdefinierte Achsen Großbuchstaben-Tags erhalten sollten. Beachten Sie, dass Schriftgestalter nicht gezwungen sind, diese Praxis zu befolgen, und einige werden es nicht tun. Wichtig ist, dass Achsen-Tags groß-/kleinschreibungssensitiv sind.

Um variable Schriftarten auf Ihrem Betriebssystem zu verwenden, müssen Sie sicherstellen, dass es auf dem neuesten Stand ist. Beispielsweise benötigen Linux-Betriebssysteme die neueste Linux Freetype-Version, und macOS vor 10.13 unterstützt keine variablen Schriftarten. Wenn Ihr Betriebssystem nicht aktuell ist, können Sie keine variablen Schriftarten auf Webseiten oder in den Firefox Developer Tools verwenden.

Formale Definition

Anfangswertnormal
Anwendbar aufalle Elemente. Auch anwendbar auf ::first-letter und ::first-line.
VererbtJa
Berechneter Wertwie angegeben
AnimationstypTransformation

Formale Syntax

font-variation-settings = 
normal |
[ <opentype-tag> <number> ]#

<opentype-tag> =
<string>

Beispiele

Sie finden eine Reihe weiterer Beispiele für variable Schriftarten in unserem Leitfaden für variable Schriftarten.

Variable Schriftstärke steuern (wght)

Klicken Sie auf "Play" in den folgenden Codeblöcken, um das Beispiel im MDN Playground zu bearbeiten. Bearbeiten Sie das CSS, um mit verschiedenen Schriftdickenwerten zu experimentieren. Beobachten Sie, was passiert, wenn Sie einen Wert außerhalb des Gewichtsbereichs angeben.

css
/* weight range is 300 to 900 */
.p1 {
  font-weight: 625;
}

/* weight range is 300 to 900 */
.p2 {
  font-variation-settings: "wght" 625;
}

/* Adjust with slider & custom property */
.p3 {
  font-variation-settings: "wght" var(--text-axis);
}

Variable Schriftschräge steuern (slnt)

Klicken Sie auf "Play" in den folgenden Codeblöcken, um das Beispiel im MDN Playground zu bearbeiten. Bearbeiten Sie das CSS, um mit verschiedenen Schriftneigungs-/kursiven Werten zu experimentieren.

css
/* slant range is from 0deg to 12deg */
.p1 {
  font-style: oblique 14deg;
}

/* slant range is from 0 to 12 */
.p2 {
  font-variation-settings: "slnt" 12;
}

/* Adjust with slider & custom property */
.p3 {
  font-variation-settings: "slnt" var(--text-axis);
}

Spezifikationen

Specification
CSS Fonts Module Level 4
# font-variation-settings-def

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch