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 niedrigstufige Kontrolle über variable Schriftart-Eigenschaften, indem Sie die vier Buchstaben umfassenden Achsennamen der zu variierenden Eigenschaften zusammen mit ihren Werten angeben können.
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", serif;
}
Syntax
/* 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 der folgenden Formen annehmen:
normal-
Der Text wird mit den Standardeinstellungen formatiert.
<string> <number>-
Beim Rendern von Text wird die Liste der Achsennamen der variablen Schriftart an die Text-Layout-Engine übergeben, um Schriftmerkmale zu aktivieren oder zu deaktivieren. Jede Einstellung besteht immer aus einem oder mehreren Paaren, die aus einem
<string>von 4 ASCII-Zeichen und einer<number>bestehen, welche den einzustellenden Achsenwert angibt. Wenn das<string>mehr oder weniger Zeichen hat oder Zeichen außerhalb des Bereichs U+20 - U+7E enthält, ist die gesamte Eigenschaft ungültig. Die<number>kann je nach verfügbarer Wertspanne in Ihrer Schriftart, wie vom Schriftgestalter definiert, gebrochen oder negativ sein.
Beschreibung
Diese Eigenschaft ist ein niedrigstufiger Mechanismus, der entworfen wurde, um variable Schriftmerkmale zu setzen, für die es keine andere Möglichkeit gibt, diese Merkmale zu aktivieren oder darauf zuzugreifen. Sie sollten sie nur verwenden, wenn es keine grundlegenden Eigenschaften gibt, um diese Merkmale festzulegen (z. B. font-weight, font-style).
Schrifteigenschaften, die mit font-variation-settings gesetzt werden, überschreiben immer diejenigen, die mit den entsprechenden grundlegenden Schrifteigenschaften wie font-weight gesetzt wurden, unabhängig davon, wo sie in der Kaskade erscheinen. In einigen Browsern ist dies derzeit nur dann der Fall, wenn die @font-face-Deklaration einen Bereich für font-weight enthält.
Registrierte und benutzerdefinierte Achsen
Variable Schriftachsen gibt es in zwei Arten: registriert und benutzerdefiniert.
Registrierte Achsen sind am häufigsten anzutreffen — so häufig, dass die Autoren der Spezifikation es für ratsam hielten, sie zu standardisieren. Beachten Sie, dass dies nicht bedeutet, dass der Autor alle diese in seine Schrift aufnehmen muss.
Hier sind die registrierten Achsen zusammen mit ihren entsprechenden CSS-Eigenschaften:
| Achsenschild | CSS-Eigenschaft |
|---|---|
| "wght" | font-weight |
| "wdth" | font-stretch |
| "slnt" (slant) | font-style: oblique + angle |
| "ital" | font-style: italic |
| "opsz" | font-optical-sizing |
Benutzerdefinierte Achsen können alles sein, was der Schriftgestalter in seiner Schrift variieren möchte, zum Beispiel Höhen von Auf- und Abstrichen, die Größe der Serifen oder alles andere, was er sich vorstellen kann. Jede Achse kann verwendet werden, solange sie eine eindeutige Achse mit 4 Zeichen erhält. Einige werden häufiger vorkommen und könnten mit der Zeit sogar registriert werden.
Hinweis: Registrierte Achsentags werden mit Kleinbuchstabentags identifiziert, wohingegen benutzerdefinierte Achsen mit Großbuchstabentags versehen werden sollten. Beachten Sie, dass Schriftgestalter nicht dazu gezwungen sind, diese Praxis einzuhalten, und einige werden es nicht tun. Das Wichtigste ist hier, dass Achsentags case-sensitive 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 Version von Linux FreeType und macOS vor 10.13 unterstützt keine variablen Schriftarten. Wenn Ihr Betriebssystem nicht auf dem neuesten Stand ist, können Sie variable Schriftarten weder in Webseiten noch in den Firefox Developer Tools verwenden.
Formale Definition
| Anfangswert | normal |
|---|---|
| Anwendbar auf | alle Elemente. Auch anwendbar auf ::first-letter und ::first-line. |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | Transformation |
Formale Syntax
font-variation-settings =
normal |
[ <opentype-tag> <number> ]#
<opentype-tag> =
<string>
Beispiele
Sie finden weitere Beispiele für variable Schriftarten in unserem Leitfaden zu variablen Schriftarten.
Kontrolle des variablen Schriftgewichtes (wght)
Klicken Sie auf "Play" in den Codeblöcken unten, um das Beispiel im MDN Playground zu bearbeiten. Bearbeiten Sie das CSS, um mit verschiedenen Schriftgewichts-Werten zu experimentieren. Sehen Sie, was passiert, wenn Sie einen Wert außerhalb des Gewichtsbereichs angeben.
/* 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);
}
Kontrolle des variablen Schriftneigungswinkels (slnt)
Klicken Sie auf "Play" in den Codeblöcken unten, um das Beispiel im MDN Playground zu bearbeiten. Bearbeiten Sie das CSS, um mit verschiedenen Neigungs-/Schrägwinkelwerten zu experimentieren.
/* 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
Siehe auch
- Leitfaden zu variablen Schriftarten
- Überblick über OpenType-Schriftvariationen auf microsoft.com
- Tag-Register der Design-Variationsachse von OpenType auf microsoft.com
- OpenType variable Schriftarten auf axis-praxis.org
- Variable fonts auf v-fonts.com