@font-face
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
* Some parts of this feature may have varying levels of support.
Die @font-face
CSS At-Regel spezifiziert eine benutzerdefinierte Schriftart zur Anzeige von Text; die Schriftart kann entweder von einem entfernten Server oder einer lokal auf dem Computer des Benutzers installierten Schriftart geladen werden.
Syntax
@font-face {
font-family: "Trickster";
src:
local("Trickster"),
url("trickster-COLRv1.otf") format("opentype") tech(color-COLRv1),
url("trickster-outline.otf") format("opentype"),
url("trickster-outline.woff") format("woff");
}
Deskriptoren
ascent-override
-
Definiert die Aufstiegsmetrik der Schriftart.
descent-override
-
Definiert die Abstiegmetrik der Schriftart.
font-display
-
Bestimmt, wie eine Schriftart angezeigt wird, basierend darauf, ob und wann sie heruntergeladen und gebrauchsfertig ist.
font-family
-
Gibt einen Namen an, der als Schriftartwert für Schriftarteigenschaften verwendet wird. Ein
font-family
-Name ist erforderlich, damit die@font-face
-Regel gültig ist. font-stretch
-
Ein
font-stretch
-Wert. Akzeptiert zwei Werte, um einen Bereich anzugeben, der von einer Schriftart unterstützt wird, zum Beispielfont-stretch: 50% 200%;
font-style
-
Ein
font-style
-Wert. Akzeptiert zwei Werte, um einen Bereich anzugeben, der von einer Schriftart unterstützt wird, zum Beispielfont-style: oblique 20deg 50deg;
font-weight
-
Ein
font-weight
-Wert. Akzeptiert zwei Werte, um einen Bereich anzugeben, der von einer Schriftart unterstützt wird, zum Beispielfont-weight: 100 400;
font-feature-settings
-
Erlaubt die Steuerung über fortgeschrittene typografische Funktionen in OpenType-Schriftarten.
font-variation-settings
-
Erlaubt die Low-Level-Kontrolle über OpenType- oder TrueType-Schriftvariationen, indem die vier Buchstaben langen Achsennamen der Funktionen zusammen mit ihren Variationswerten spezifiziert werden.
line-gap-override
-
Definiert die Zeilenlückenmetrik der Schriftart.
size-adjust
-
Definiert einen Multiplikator für Glyphenumrisse und Metriken, die mit dieser Schriftart assoziiert sind. Dies erleichtert die Harmonisierung des Designs verschiedener Schriftarten, wenn sie in derselben Schriftgröße gerendert werden.
src
-
Spezifiziert Verweise auf Schriftressourcen einschließlich Hinweisen zu Schriftformat und Technologie. Ein
src
ist erforderlich, damit die@font-face
-Regel gültig ist. unicode-range
-
Der Bereich der Unicode-Codepunkte, die von der Schriftart verwendet werden sollen.
Beschreibung
Es ist üblich, url()
und local()
zusammen zu verwenden, damit die installierte Kopie der Schriftart des Benutzers verwendet wird, wenn sie verfügbar ist, und ansonsten eine Kopie der Schriftart heruntergeladen wird, wenn sie nicht auf dem Gerät des Benutzers gefunden wird.
Wenn die local()
-Funktion bereitgestellt wird und einen Schriftartnamen angibt, der auf dem Gerät des Benutzers gesucht werden soll, und wenn der Benutzer-Agent einen Treffer findet, wird diese lokale Schriftart verwendet. Andernfalls wird die Schriftressource, die mit der url()
-Funktion angegeben wurde, heruntergeladen und verwendet.
Browser versuchen, Ressourcen in der angegebenen Reihenfolge ihrer Liste zu laden, daher sollte local()
normalerweise vor url()
geschrieben werden. Beide Funktionen sind optional, sodass ein Regelblock möglich ist, der nur ein oder mehrere local()
ohne url()
enthält. Wenn spezifischere Schriften mit format()
oder tech()
-Werten gewünscht sind, sollten diese vor Versionen ohne diese Werte aufgelistet werden, da ansonsten die weniger spezifische Variante zuerst probiert und verwendet würde.
Indem Autoren ihre eigenen Schriften bereitstellen können, ermöglicht @font-face
die Gestaltung von Inhalten, ohne auf die sogenannten "web-sicheren" Schriftarten beschränkt zu sein (also die Schriften, die so weit verbreitet sind, dass sie als universell verfügbar gelten). Die Fähigkeit, den Namen einer lokal installierten Schriftart anzugeben, die gesucht und verwendet werden soll, ermöglicht es, die Schriftart über die Grundlagen hinaus anzupassen und dies ohne Abhängigkeit von einer Internetverbindung zu tun.
Hinweis:
Fallback-Strategien für die Lade von Schriften in älteren Browsern werden auf der src
-Deskriptor-Seite beschrieben.
Die @font-face
-At-Regel kann nicht nur auf oberster Ebene eines CSS verwendet werden, sondern auch innerhalb jeder CSS Bedingungsgruppen-At-Regel.
Schriftart-MIME-Typen
Format | MIME-Typ |
---|---|
TrueType | font/ttf |
OpenType | font/otf |
Web Open Font Format | font/woff |
Web Open Font Format 2 | font/woff2 |
Anmerkungen
-
Web-Schriften unterliegen derselben Domänenbeschränkung (Schriftdateien müssen auf derselben Domäne wie die verwendende Seite sein), es sei denn, HTTP-Zugriffskontrollen werden verwendet, um diese Beschränkung zu lockern.
-
@font-face
kann nicht innerhalb eines CSS-Selectors deklariert werden. Zum Beispiel wird das folgende nicht funktionieren:css.className { @font-face { font-family: "MyHelvetica"; src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), url("MgOpenModernaBold.ttf"); font-weight: bold; } }
Formale Syntax
@font-face =
@font-face { <declaration-list> }
Beispiele
Spezifizieren einer herunterladbaren Schriftart
Dieses Beispiel spezifiziert eine herunterladbare Schriftart zur Verwendung und wendet sie auf den gesamten Dokumentkörper an:
<body>
This is Bitstream Vera Serif Bold.
</body>
@font-face {
font-family: "Bitstream Vera Serif Bold";
src: url("https://mdn.github.io/shared-assets/fonts/VeraSeBd.ttf");
}
body {
font-family: "Bitstream Vera Serif Bold", serif;
}
Spezifizieren von lokalen Schriftalternativen
In diesem Beispiel wird die lokale Kopie des Benutzers von "Helvetica Neue Bold" verwendet; wenn der Benutzer diese Schriftart nicht installiert hat (sowohl der vollständige Schriftname als auch der Postscript-Name werden versucht), wird stattdessen die herunterladbare Schriftart "MgOpenModernaBold.ttf" verwendet:
@font-face {
font-family: "MyHelvetica";
src:
local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"),
url("MgOpenModernaBold.ttf");
font-weight: bold;
}
Spezifikationen
Specification |
---|
CSS Fonts Module Level 4 # font-face-rule |