Schriftformatierungen (Fonts)
Mit den Schrift-Eigenschaften von CSS bestimmen Sie, wie Texte auf einer
Webseite dargestellt werden. Dazu gehören unter anderem die Schriftart,
Schriftgröße, Schriftstärke, Schriftbreite, der Schriftstil und die
Zeilenhöhe.
Viele Schrift-Eigenschaften werden standardmäßig an die Kindelemente
vererbt. Dadurch kann beispielsweise eine Schriftart einmal für das
body-Element festgelegt und anschließend von den darin
enthaltenen Elementen übernommen werden.
Moderne CSS-Schrifteigenschaften ermöglichen außerdem den Einsatz
heruntergeladener Schriftdateien, variabler Schriftarten und besonderer
OpenType-Funktionen.
Übersicht der Schrift-Eigenschaften
Die folgende Tabelle zeigt die wichtigsten klassischen und modernen
Eigenschaften zur Schriftformatierung. Einige Eigenschaften werden im
weiteren Verlauf ausführlich behandelt, während selten benötigte
Eigenschaften in einer gemeinsamen Übersicht erklärt werden.
| Eigenschaft |
Bedeutung |
Typische Werte |
font-family |
Legt die Schriftfamilie fest. |
Schriftname, Schriftliste und generische Schriftfamilie,
beispielsweise Arial, Helvetica, sans-serif
|
font-size |
Legt die Schriftgröße fest. |
Längenangaben wie px, rem,
em, Prozentwerte oder Schlüsselwörter
|
font-weight |
Bestimmt die Schriftstärke. |
normal, bold,
100 bis 900 oder variable Zahlenwerte
|
font-style |
Bestimmt, ob eine Schrift normal oder schräg dargestellt wird. |
normal, italic,
oblique
|
font-variant |
Kurzschreibweise für verschiedene typografische Varianten.
|
normal, small-caps und weitere
Varianten
|
line-height |
Legt die Höhe einer Textzeile und damit den Zeilenabstand fest.
|
normal, Zahl, Längenangabe oder Prozentwert
|
font-stretch |
Wählt eine schmalere oder breitere Variante einer Schrift aus.
|
normal, condensed,
expanded, Prozentwerte
|
font-size-adjust |
Passt die sichtbare Größe einer Ersatzschrift anhand ihrer
Kleinbuchstabenhöhe an.
|
none, Zahl oder weitere moderne Werte
|
font-kerning |
Steuert die typografische Anpassung des Abstands zwischen
bestimmten Zeichenpaaren.
|
auto, normal, none
|
font-feature-settings |
Aktiviert oder deaktiviert besondere OpenType-Funktionen einer
Schrift.
|
normal oder OpenType-Kennzeichnungen wie
"liga" und "smcp"
|
font-variation-settings |
Steuert einzelne Achsen einer variablen Schriftart.
|
normal oder Achsenwerte wie
"wght" 600
|
font-optical-sizing |
Aktiviert die automatische optische Anpassung einer variablen
Schrift an ihre Darstellungsgröße.
|
auto, none
|
font-synthesis |
Legt fest, ob der Browser fehlende Schriftvarianten künstlich
erzeugen darf.
|
none, weight, style,
small-caps
|
font-palette |
Wählt eine Farbpalette für farbige Schriftarten aus.
|
normal, light, dark
oder eine benutzerdefinierte Palette
|
font |
Kurzschreibweise für mehrere Schrift-Eigenschaften.
|
Kombination aus Schriftstil, Schriftvariante, Schriftstärke,
Schriftbreite, Schriftgröße, Zeilenhöhe und Schriftfamilie
|
Hinweis:
Nicht jede Schriftart stellt alle Schriftstärken, Schriftbreiten,
OpenType-Funktionen oder Variationsachsen zur Verfügung. Eine
CSS-Eigenschaft kann nur jene Varianten verwenden, die in der jeweiligen
Schrift enthalten oder vom Browser erzeugbar sind.
font-family
Mit der Eigenschaft font-family legen Sie fest, welche
Schriftfamilie für den Text eines Elements verwendet werden soll.
font-family wird standardmäßig an die Kindelemente vererbt.
Selektor {
font-family: Schriftname, Ersatzschrift, generische Schriftfamilie;
}
In der Regel werden mehrere Schriftfamilien angegeben. Die einzelnen
Einträge werden durch Kommas voneinander getrennt. Der Browser prüft die
Liste von links nach rechts und verwendet die erste verfügbare Schriftart.
body {
font-family: Arial, Helvetica, sans-serif;
}
In diesem Beispiel versucht der Browser zuerst, die Schrift
Arial zu verwenden. Ist sie nicht verfügbar, wird
Helvetica verwendet. Ist auch diese Schrift nicht verfügbar,
wählt der Browser eine installierte serifenlose Schrift aus der
generischen Schriftfamilie sans-serif.
Merke:
Eine Schriftliste sollte normalerweise mit einer generischen
Schriftfamilie wie serif, sans-serif oder
monospace enden.
Schriftnamen mit Leerzeichen
Besteht der Name einer Schriftart aus mehreren Wörtern, sollte er in
Anführungszeichen geschrieben werden.
h1 {
font-family: "Times New Roman", Times, serif;
}
Auch bei ungewöhnlichen Schriftbezeichnungen oder Namen mit Sonderzeichen
sind Anführungszeichen sinnvoll.
.logo {
font-family: "Roboto Condensed", Arial, sans-serif;
}
Generische Schriftfamilien werden dagegen ohne Anführungszeichen
geschrieben.
p {
font-family: sans-serif;
}
Generische Schriftfamilien
Eine generische Schriftfamilie bezeichnet keine konkrete Schriftart.
Stattdessen weist sie den Browser an, eine auf dem System verfügbare
Schrift aus einer bestimmten Schriftklasse auszuwählen.
| Schriftfamilie |
Beschreibung |
Typische Vertreter |
serif |
Schrift mit Serifen, also kleinen Abschlussstrichen an den
Buchstaben.
|
Georgia, Times New Roman
|
sans-serif |
Serifenlose Schrift mit klaren und einfachen Buchstabenformen.
|
Arial, Helvetica, Verdana
|
monospace |
Schrift, bei der jedes Zeichen dieselbe Breite besitzt.
|
Consolas, Courier New
|
cursive |
Schrift, die handschriftliche oder verbundene Buchstabenformen
nachahmt.
|
Abhängig vom Betriebssystem
|
fantasy |
Dekorative Schrift für auffällige oder spielerische
Darstellungen.
|
Abhängig vom Betriebssystem
|
system-ui |
Verwendet die Standardschrift der Benutzeroberfläche des
Betriebssystems.
|
Abhängig vom Betriebssystem
|
ui-serif |
Verwendet die Serifenschrift der Benutzeroberfläche.
|
Abhängig vom Browser und Betriebssystem
|
ui-sans-serif |
Verwendet die serifenlose Schrift der Benutzeroberfläche.
|
Abhängig vom Browser und Betriebssystem
|
ui-monospace |
Verwendet die nichtproportionale Schrift der Benutzeroberfläche.
|
Abhängig vom Browser und Betriebssystem
|
ui-rounded |
Verwendet eine Schrift mit abgerundeten Buchstabenformen, sofern
das System eine solche Schrift bereitstellt.
|
Abhängig vom Browser und Betriebssystem
|
math |
Verwendet eine Schrift, die für mathematische Ausdrücke geeignet
ist.
|
Abhängig vom Browser und Betriebssystem
|
fangsong |
Generische Schriftfamilie für bestimmte chinesische
Schriftformen.
|
Abhängig von Sprache und Betriebssystem
|
Für gewöhnliche Webseiten werden vor allem
serif, sans-serif,
monospace und system-ui verwendet.
Die weiteren generischen Familien sind für speziellere typografische,
sprachliche oder technische Anforderungen vorgesehen.
Systemschriftarten verwenden
Mit system-ui kann die Standardschrift der
Benutzeroberfläche des jeweiligen Betriebssystems verwendet werden. Das
sorgt häufig für eine vertraute Darstellung und benötigt keine zusätzliche
Schriftdatei.
body {
font-family: system-ui, sans-serif;
}
Eine umfangreichere Schriftliste kann zusätzliche Ersatzschriften
enthalten:
body {
font-family:
system-ui,
-apple-system,
"Segoe UI",
Roboto,
Arial,
sans-serif;
}
Der Browser verwendet wiederum den ersten Eintrag, der auf dem jeweiligen
Gerät verfügbar ist.
Schriftfamilie für die gesamte Webseite festlegen
Da font-family vererbbar ist, wird die grundlegende
Schriftfamilie einer Webseite meistens beim body-Element
festgelegt.
body {
font-family: Arial, Helvetica, sans-serif;
}
Einzelne Bereiche können anschließend eine andere Schriftfamilie
erhalten.
body {
font-family: Arial, Helvetica, sans-serif;
}
h1,
h2,
h3 {
font-family: Georgia, "Times New Roman", serif;
}
code,
pre {
font-family: Consolas, "Courier New", monospace;
}
Vererbung
Die Eigenschaft font-family wird standardmäßig vererbt. Ein
Kindelement übernimmt daher normalerweise die Schriftfamilie seines
Elternelements.
article {
font-family: Georgia, serif;
}
Absätze, Überschriften und andere Textelemente innerhalb des
article-Elements übernehmen diese Schriftfamilie, sofern für
sie keine eigene Schriftfamilie festgelegt wurde.
Schriftfamilie ausdrücklich übernehmen
Mit dem Wert inherit kann die Schriftfamilie ausdrücklich
vom Elternelement übernommen werden.
button {
font-family: inherit;
}
Diese Schreibweise wird häufig bei Formularelementen verwendet, da deren
Standardschrift je nach Browser von der übrigen Seitenschrift abweichen
kann.
Globale Werte
| Wert |
Bedeutung |
inherit |
Übernimmt den berechneten Wert des Elternelements.
|
initial |
Setzt die Eigenschaft auf ihren in CSS definierten Anfangswert
zurück.
|
unset |
Verhält sich bei einer vererbbaren Eigenschaft wie
inherit.
|
revert |
Setzt die Eigenschaft auf einen Wert einer vorherigen
Herkunftsebene zurück, beispielsweise auf die Browser- oder
Benutzerformatierung.
|
revert-layer |
Setzt den Wert innerhalb der CSS-Kaskadenschichten auf eine
vorherige Schicht zurück.
|
Vollständiges Beispiel
body {
font-family:
system-ui,
-apple-system,
"Segoe UI",
Roboto,
Arial,
sans-serif;
}
h1,
h2,
h3 {
font-family: Georgia, "Times New Roman", serif;
}
code,
pre {
font-family: Consolas, "Courier New", monospace;
}
button,
input,
select,
textarea {
font-family: inherit;
}
Achtung:
Eine lokal installierte Schrift steht nicht auf jedem Gerät zur
Verfügung. Verwenden Sie deshalb mehrere geeignete Ersatzschriften und
schließen Sie die Liste mit einer generischen Schriftfamilie ab.
Weiterführende Informationen finden Sie in den folgenden Referenzen:
MDN: font-family
W3C: CSS Fonts Module
@font-face
Mit der CSS-Regel @font-face können eigene Schriftarten in eine
Webseite eingebunden werden. Die Schriftdateien werden auf dem Webserver
gespeichert und beim Aufruf der Seite automatisch vom Browser geladen.
Dadurch können auch Schriftarten verwendet werden, die auf dem Rechner des
Besuchers nicht installiert sind.
Heute werden hauptsächlich Schriftdateien im Format
.woff2 und .woff verwendet.
Das Format .woff2 bietet die beste Komprimierung und sollte
bevorzugt eingesetzt werden. Das ältere Format .woff kann
zusätzlich als Fallback angegeben werden.
Syntax
@font-face {
font-family: "MeineSchrift";
src: url("fonts/meineschrift.woff2") format("woff2"),
url("fonts/meineschrift.woff") format("woff");
}
Der Eigenschaft font-family wird ein frei wählbarer Name
zugewiesen. Dieser Name wird anschließend wie jede andere Schriftfamilie
verwendet.
body {
font-family: "MeineSchrift", Arial, sans-serif;
}
Eigenschaften von @font-face
| Eigenschaft |
Bedeutung |
Typische Werte |
font-family |
Name der Schriftfamilie |
frei wählbarer Name |
src |
Speicherort der Schriftdatei |
url(...) |
font-style |
Schriftstil der Datei |
normal, italic, oblique |
font-weight |
Schriftstärke der Datei |
100–900, normal, bold |
font-stretch |
Schriftbreite |
condensed, expanded usw. |
unicode-range |
Zeichensatzbereich der Schriftdatei |
Unicode-Bereiche |
font-display |
Verhalten während des Ladens |
auto, block, swap, fallback, optional |
size-adjust |
Optische Größenanpassung |
Prozentwert |
Beispiel
@font-face {
font-family: "Roboto";
src: url("fonts/roboto-regular.woff2") format("woff2"),
url("fonts/roboto-regular.woff") format("woff");
font-weight: 400;
font-style: normal;
font-display: swap;
}
body {
font-family: "Roboto", Arial, sans-serif;
}
Hinweis:
Für moderne Webseiten reicht in den meisten Fällen das Format
.woff2. Soll eine möglichst hohe Browserkompatibilität erreicht
werden, kann zusätzlich eine .woff-Datei angegeben werden.
Achtung:
Schriftdateien unterliegen dem Urheberrecht. Verwenden Sie nur
Schriftarten, für die Sie eine entsprechende Lizenz besitzen oder die
ausdrücklich zur freien Nutzung freigegeben wurden.
Web Fonts
Web Fonts sind Schriftarten, die beim Aufruf einer Webseite automatisch vom
Webserver geladen werden. Dadurch können Schriftarten verwendet werden, die
auf dem Computer oder Smartphone des Besuchers nicht installiert sind.
Im Gegensatz zu lokal installierten Schriftarten sieht eine Webseite dadurch
auf nahezu allen Geräten gleich aus. Web Fonts gehören deshalb heute zum
Standard moderner Webseiten.
Funktionsweise
Beim Laden einer Webseite liest der Browser zunächst die CSS-Dateien ein.
Enthält das Stylesheet eine @font-face-Regel oder eine
Verknüpfung zu einem Web-Font-Dienst, lädt der Browser zusätzlich die
benötigten Schriftdateien herunter und verwendet sie anschließend zur
Darstellung der Texte.
Browser
│
▼
HTML-Datei laden
│
▼
CSS-Datei laden
│
▼
Schriftdatei (.woff2)
│
▼
Text mit Web Font darstellen
Vorteile von Web Fonts
| Vorteil |
Beschreibung |
| Einheitliches Erscheinungsbild |
Die Webseite sieht auf nahezu allen Geräten gleich aus.
|
| Große Schriftauswahl |
Es können tausende frei verfügbare Schriftarten verwendet werden.
|
| Keine Installation notwendig |
Der Besucher muss die Schrift nicht auf seinem Gerät installieren.
|
| Variable Fonts |
Moderne Schriftdateien können mehrere Schriftstärken und
Schriftbreiten in einer einzigen Datei enthalten.
|
| Bessere Typografie |
OpenType-Funktionen und moderne Schrifttechniken können genutzt
werden.
|
Nachteile von Web Fonts
| Nachteil |
Beschreibung |
| Zusätzliche Downloads |
Schriftdateien müssen zunächst geladen werden.
|
| Ladezeit |
Große Schriftdateien können die Ladezeit einer Webseite erhöhen.
|
| Datenschutz |
Werden Schriftarten von externen Servern geladen, können dabei
personenbezogene Daten wie die IP-Adresse an den Anbieter übertragen
werden.
|
| Lizenzbedingungen |
Nicht jede Schrift darf kostenlos oder kommerziell verwendet werden.
|
Web Fonts lokal speichern
Aus Gründen des Datenschutzes und der Performance werden Web Fonts heute
häufig zusammen mit der Webseite auf dem eigenen Webserver gespeichert.
Die Einbindung erfolgt anschließend mit @font-face.
fonts/
├── roboto-regular.woff2
├── roboto-bold.woff2
└── opensans.woff2
Web Fonts über einen Dienst einbinden
Alternativ können Schriftarten über einen Web-Font-Dienst eingebunden
werden. Dabei werden die Schriftdateien von einem externen Server geladen.
<link
rel="preconnect"
href="https://fonts.googleapis.com">
<link
rel="preconnect"
href="https://fonts.gstatic.com"
crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap"
rel="stylesheet">
body {
font-family: "Roboto", Arial, sans-serif;
}
Lokale oder externe Web Fonts?
| Kriterium |
Lokal gespeichert |
Externer Dienst |
| Datenschutz |
★★★★★ |
★★☆☆☆ |
| Geschwindigkeit |
★★★★★ |
★★★★☆ |
| Einfache Einrichtung |
★★★☆☆ |
★★★★★ |
| Kontrolle |
★★★★★ |
★★☆☆☆ |
| Aktualisierung |
Manuell |
Automatisch |
Empfehlung:
Für professionelle Webseiten empfiehlt es sich, Web Fonts lokal auf dem
eigenen Webserver zu speichern. Dadurch verbessern sich Datenschutz,
Ladegeschwindigkeit und die Kontrolle über die verwendeten Schriftdateien.
font-size
Mit der Eigenschaft font-size legen Sie die Größe einer
Schrift fest. Die Schriftgröße beeinflusst nicht nur die Lesbarkeit einer
Webseite, sondern auch deren Erscheinungsbild und Benutzerfreundlichkeit.
Moderne Webseiten verwenden überwiegend relative Größen, damit sich Texte
flexibel an unterschiedliche Bildschirmgrößen und Benutzereinstellungen
anpassen können.
Syntax
Selektor {
font-size: Wert;
}
Mögliche Werte
| Wert |
Beschreibung |
| Längenangaben |
Beispielsweise px, rem,
em, vw oder vh.
|
| Prozentwerte |
Relative Größe bezogen auf das Elternelement.
|
| Schlüsselwörter |
xx-small bis xxx-large,
smaller und larger.
|
| Mathematische Funktionen |
min(), max(),
clamp() und calc().
|
| Globale Werte |
inherit, initial,
unset, revert und
revert-layer.
|
Absolute Schriftgrößen
Absolute Größen besitzen einen festen Wert. Sie ändern sich nicht durch die
Schriftgröße des Elternelements.
h1 {
font-size: 32px;
}
| Einheit |
Bedeutung |
px |
Pixel |
pt |
Punkt (hauptsächlich Druck) |
cm |
Zentimeter |
mm |
Millimeter |
in |
Zoll |
pc |
Pica |
Q |
Viertelmillimeter |
Relative Schriftgrößen
Relative Größen passen sich an andere Werte an und eignen sich besonders
für responsive Webseiten.
body {
font-size: 1rem;
}
article {
font-size: 1.2rem;
}
| Einheit |
Bezug |
em |
Schriftgröße des Elternelements |
rem |
Schriftgröße des Root-Elements |
% |
Prozent der Schriftgröße des Elternelements |
ex |
Höhe des Kleinbuchstabens x |
ch |
Breite der Ziffer 0 |
lh |
Aktuelle Zeilenhöhe |
rlh |
Zeilenhöhe des Root-Elements |
Viewport-Einheiten
Viewport-Einheiten orientieren sich an der Größe des Browserfensters.
| Einheit |
Bedeutung |
vw |
1 % der Viewportbreite |
vh |
1 % der Viewporthöhe |
vi |
1 % der Inline-Größe |
vb |
1 % der Block-Größe |
vmin |
Kleinere Viewportseite |
vmax |
Größere Viewportseite |
Schlüsselwörter
p {
font-size: large;
}
| Schlüsselwort |
Bedeutung |
xx-small |
Sehr klein |
x-small |
Klein |
small |
Etwas kleiner |
medium |
Standardgröße |
large |
Groß |
x-large |
Sehr groß |
xx-large |
Noch größer |
xxx-large |
Größte Standardgröße |
smaller |
Kleiner als das Elternelement |
larger |
Größer als das Elternelement |
Empfehlung:
Für moderne Webseiten sollte überwiegend rem verwendet
werden. Dadurch bleiben Schriftgrößen flexibel und berücksichtigen die
Einstellungen des Benutzers. Pixel eignen sich vor allem für spezielle
Ausnahmen oder grafische Elemente.
line-height
Mit der Eigenschaft line-height legen Sie die Höhe einer
Textzeile fest. Dadurch wird der Abstand zwischen zwei aufeinanderfolgenden
Textzeilen bestimmt. Eine geeignete Zeilenhöhe verbessert die Lesbarkeit
eines Textes erheblich.
Die Zeilenhöhe wird häufig zusammen mit der Schriftgröße festgelegt.
Während eine zu kleine Zeilenhöhe den Text gedrängt wirken lässt,
erschwert eine zu große Zeilenhöhe das Lesen längerer Absätze.
Syntax
Selektor {
line-height: Wert;
}
Mögliche Werte
| Wert |
Beschreibung |
normal |
Standardwert des Browsers. Meist etwa 1,2 der Schriftgröße.
|
| Zahl |
Multiplikator der aktuellen Schriftgröße, z. B.
1.5.
|
| Längenangaben |
Beispielsweise px, em,
rem, lh oder rlh.
|
| Prozentwerte |
Prozent der aktuellen Schriftgröße.
|
| Globale Werte |
inherit, initial,
unset, revert und
revert-layer.
|
Standardwert
p {
line-height: normal;
}
Der Wert normal wird vom Browser abhängig von der verwendeten
Schriftart bestimmt. In der Praxis entspricht er ungefähr dem 1,2-fachen
der Schriftgröße.
Zeilenhöhe mit einer Zahl
Am häufigsten wird eine einheitenlose Zahl verwendet. Dieser Wert wird mit
der aktuellen Schriftgröße multipliziert und eignet sich besonders für
responsive Webseiten.
body {
font-size: 1rem;
line-height: 1.5;
}
Hinweis:
Die Schreibweise ohne Einheit wird empfohlen, da sich die Zeilenhöhe
automatisch an unterschiedliche Schriftgrößen anpasst und an
Kindelemente sinnvoll vererbt wird.
Zeilenhöhe mit Längenangaben
p {
line-height: 28px;
}
article {
line-height: 2rem;
}
Feste Längenangaben werden heute nur noch selten verwendet, da sie weniger
flexibel sind als einheitenlose Werte.
Zeilenhöhe mit Prozentwerten
p {
line-height: 150%;
}
Ein Prozentwert bezieht sich auf die aktuelle Schriftgröße.
150% entspricht somit ungefähr dem Wert
1.5.
Empfohlene Werte
| Einsatzgebiet |
Empfehlung |
Bemerkung |
| Längere Fließtexte |
1.5 bis 1.8 |
Sehr gute Lesbarkeit |
| Kurze Texte |
1.3 bis 1.5 |
Ausgewogen |
| Überschriften |
1 bis 1.3 |
Wirkt kompakter |
| Buttons und Navigation |
1 bis 1.2 |
Je nach Gestaltung |
Vererbung
Die Eigenschaft line-height wird an Kindelemente vererbt.
Deshalb genügt es häufig, die Zeilenhöhe einmal für das
body-Element festzulegen.
body {
line-height: 1.6;
}
Vollständiges Beispiel
body {
font-family: Arial, sans-serif;
font-size: 1rem;
line-height: 1.6;
}
h1 {
line-height: 1.2;
}
article {
max-width: 700px;
}
Empfehlung:
Verwenden Sie für Fließtexte vorzugsweise einen einheitenlosen Wert
zwischen 1.5 und 1.8. Dadurch bleibt die
Zeilenhöhe flexibel und verbessert die Lesbarkeit auf allen Geräten.
font-weight
Mit der Eigenschaft font-weight legen Sie die Stärke einer
Schrift fest. Je nach verwendeter Schriftart stehen unterschiedliche
Schriftstärken zur Verfügung. Moderne Schriften und Variable Fonts
unterstützen häufig zahlreiche Abstufungen zwischen sehr dünnen und
besonders kräftigen Schriftstärken.
Syntax
Selektor {
font-weight: Wert;
}
Mögliche Werte
| Wert |
Beschreibung |
normal |
Normale Schriftstärke (entspricht 400). |
bold |
Fette Schrift (entspricht 700). |
bolder |
Kräftiger als das Elternelement. |
lighter |
Schwächer als das Elternelement. |
100 bis 900 |
Numerische Schriftstärken in 100er-Schritten.
|
| Variable Fonts |
Je nach Schriftart sind auch beliebige Werte zwischen
1 und 1000 möglich.
|
| Globale Werte |
inherit,
initial,
unset,
revert,
revert-layer
|
Schlüsselwörter verwenden
h2 {
font-weight: bold;
}
p {
font-weight: normal;
}
Die Schlüsselwörter normal und bold werden am
häufigsten verwendet und reichen für viele Webseiten aus.
Numerische Schriftstärken
Numerische Werte bieten eine feinere Abstufung der Schriftstärke. Sie sind
besonders bei modernen Schriftarten und Variable Fonts sinnvoll.
h1 {
font-weight: 800;
}
p {
font-weight: 300;
}
| Wert |
Bezeichnung |
Typischer Einsatz |
| 100 |
Thin |
Sehr feine Überschriften |
| 200 |
Extra Light |
Große dekorative Texte |
| 300 |
Light |
Große Fließtexte |
| 400 |
Regular |
Standard-Fließtext |
| 500 |
Medium |
Navigation, Buttons |
| 600 |
Semi Bold |
Zwischenüberschriften |
| 700 |
Bold |
Überschriften |
| 800 |
Extra Bold |
Große Titel |
| 900 |
Black |
Sehr auffällige Überschriften |
Relative Schriftstärken
Mit den Werten bolder und lighter wird die
Schriftstärke relativ zum Elternelement bestimmt.
article {
font-weight: 400;
}
strong {
font-weight: bolder;
}
Welche Schriftstärke tatsächlich verwendet wird, hängt von den verfügbaren
Schriftvarianten der verwendeten Schriftart ab.
Variable Fonts
Variable Fonts unterstützen häufig einen durchgehenden Bereich der
Schriftstärke. Dadurch können beliebige Werte zwischen
1 und 1000 verwendet werden.
h1 {
font-weight: 635;
}
Diese Möglichkeit besteht nur bei Schriftarten, die Variable Fonts
unterstützen.
Vollständiges Beispiel
body {
font-family: Arial, sans-serif;
font-weight: 400;
}
h1 {
font-weight: 800;
}
h2 {
font-weight: 700;
}
nav a {
font-weight: 600;
}
small {
font-weight: 300;
}
Hinweis:
Nicht jede Schriftart stellt alle Schriftstärken zur Verfügung. Fehlt eine
bestimmte Stärke, verwendet der Browser automatisch die nächstliegende
verfügbare Variante oder erzeugt gegebenenfalls eine künstliche
Fettschrift.
Empfehlung:
Verwenden Sie möglichst die tatsächlich vorhandenen Schriftstärken einer
Schriftfamilie. Bei Variable Fonts bieten numerische Werte die größte
Flexibilität.
font-style
Mit der Eigenschaft font-style legen Sie den Schriftstil fest.
Meist wird sie verwendet, um Texte kursiv darzustellen. Ob eine echte
Kursivschrift angezeigt wird, hängt davon ab, ob die verwendete Schriftart
eine entsprechende Variante besitzt.
Neben normaler und kursiver Schrift unterstützt CSS auch schräg gestellte
Schriftarten (oblique). Moderne Variable Fonts ermöglichen
dabei sogar die Angabe eines Neigungswinkels.
Syntax
Selektor {
font-style: Wert;
}
Mögliche Werte
| Wert |
Beschreibung |
normal |
Normale Schriftdarstellung. |
italic |
Verwendet die echte kursive Schriftvariante, sofern sie vorhanden
ist.
|
oblique |
Schräg gestellte Schrift. Ist keine entsprechende Variante
vorhanden, kann der Browser sie künstlich erzeugen.
|
oblique <Winkel> |
Schrägstellung mit einem Winkel zwischen
-90deg und 90deg. Wird hauptsächlich von
Variable Fonts unterstützt.
|
| Globale Werte |
inherit,
initial,
unset,
revert,
revert-layer
|
Normale Schrift
p {
font-style: normal;
}
Der Wert normal ist die Standarddarstellung einer Schrift.
Kursive Schrift
em {
font-style: italic;
}
Der Browser verwendet möglichst die originale kursive Variante der
Schriftfamilie. Diese wurde vom Schriftdesigner speziell gestaltet und
unterscheidet sich häufig deutlich von der normalen Schrift.
Schräg gestellte Schrift
blockquote {
font-style: oblique;
}
Ist keine entsprechende Variante vorhanden, kann der Browser die normale
Schrift künstlich schräg stellen.
Schrägstellung mit Winkel
h2 {
font-style: oblique 15deg;
}
Moderne Variable Fonts erlauben häufig die Angabe eines individuellen
Neigungswinkels. Die Unterstützung hängt jedoch von der verwendeten
Schriftart und dem Browser ab.
italic oder oblique?
| Wert |
Eigenschaft |
Typischer Einsatz |
italic |
Verwendet die echte Kursivschrift. |
Fließtext, Hervorhebungen, Zitate. |
oblique |
Stellt die Schrift schräg dar. |
Gestalterische Effekte oder Variable Fonts. |
Vollständiges Beispiel
body {
font-style: normal;
}
em {
font-style: italic;
}
blockquote {
font-style: oblique;
}
.logo {
font-style: oblique 12deg;
}
Hinweis:
Nicht jede Schriftfamilie besitzt eine echte kursive Variante. Fehlt diese,
erzeugt der Browser häufig eine künstlich geneigte Schrift.
Empfehlung:
Verwenden Sie nach Möglichkeit italic, da eine echte
Kursivschrift meist harmonischer aussieht als eine künstlich geneigte
Schrift. oblique eignet sich vor allem für spezielle
Gestaltungseffekte oder Variable Fonts.
font-variant
Mit der Eigenschaft font-variant können verschiedene
typografische Varianten einer Schrift aktiviert werden. Am häufigsten wird
sie verwendet, um Kleinbuchstaben als Kapitälchen (Small Caps)
darzustellen.
In CSS 3 wurde font-variant erheblich erweitert. Die
Kurzschreibweise fasst heute mehrere einzelne Eigenschaften zusammen,
beispielsweise für Ligaturen, Ziffernformen oder ostasiatische
Schriftsysteme. Im Alltag wird jedoch meist nur
small-caps verwendet.
Syntax
Selektor {
font-variant: Wert;
}
Mögliche Werte
| Wert |
Beschreibung |
normal |
Normale Darstellung ohne besondere Varianten. |
small-caps |
Kleinbuchstaben werden als verkleinerte Großbuchstaben dargestellt.
|
all-small-caps |
Verwendet Kapitälchen für alle Buchstaben, sofern die Schrift dies
unterstützt.
|
petite-caps |
Kleine Kapitälchen (selten unterstützt). |
all-petite-caps |
Kleine Kapitälchen für alle Buchstaben. |
unicase |
Gemischte Darstellung aus Großbuchstaben und Kapitälchen. |
titling-caps |
Besondere Großbuchstaben für Überschriften. |
| Globale Werte |
inherit,
initial,
unset,
revert,
revert-layer
|
Normale Darstellung
p {
font-variant: normal;
}
Mit normal werden keine typografischen Varianten aktiviert.
Kapitälchen verwenden
h2 {
font-variant: small-caps;
}
Bei small-caps bleiben Großbuchstaben unverändert.
Kleinbuchstaben werden als kleinere Großbuchstaben dargestellt.
Voraussetzung ist eine passende Schriftart. Andernfalls erzeugt der Browser
häufig künstliche Kapitälchen.
Vergleich
| Wert |
Darstellung |
Typischer Einsatz |
normal |
Normale Schrift |
Standardtext |
small-caps |
Kapitälchen |
Überschriften, Initialen, Zitate |
Erweiterte Varianten
Die weiteren Werte wie all-small-caps,
petite-caps oder titling-caps werden nur von
wenigen Schriftarten unterstützt. In der Praxis kommen sie daher deutlich
seltener zum Einsatz.
h1 {
font-variant: all-small-caps;
}
Vollständiges Beispiel
body {
font-variant: normal;
}
h2 {
font-variant: small-caps;
}
blockquote {
font-variant: small-caps;
}
Hinweis:
Die Qualität der Kapitälchen hängt von der verwendeten Schriftart ab.
Professionelle Schriften enthalten häufig echte Kapitälchen, während
Browser andernfalls künstliche Varianten erzeugen.
Empfehlung:
Verwenden Sie small-caps sparsam zur Hervorhebung von
Überschriften, Zitaten oder Initialen. Für den normalen Fließtext sind
Kapitälchen meist weniger gut lesbar.
Weitere Schrift-Eigenschaften
Neben den häufig verwendeten Eigenschaften wie
font-family, font-size oder
font-weight kennt CSS weitere Eigenschaften zur
Schriftformatierung. Diese werden hauptsächlich bei modernen
OpenType- und Variable Fonts eingesetzt und spielen im Alltag eine
eher untergeordnete Rolle. Dennoch lohnt sich ein Überblick, da sie
professionelle typografische Möglichkeiten bieten.
| Eigenschaft |
Beschreibung |
Typische Werte |
font-stretch |
Wählt eine schmalere oder breitere Variante einer Schrift aus.
|
normal,
condensed,
expanded,
Prozentwerte
|
font-kerning |
Aktiviert oder deaktiviert die automatische Anpassung der
Zeichenabstände.
|
auto,
normal,
none
|
font-feature-settings |
Aktiviert OpenType-Funktionen wie Ligaturen, Kapitälchen oder
besondere Ziffernformen.
|
normal,
"liga",
"smcp"
|
font-variation-settings |
Steuert einzelne Achsen einer Variable Font, beispielsweise
Schriftstärke oder Breite.
|
"wght" 600,
"wdth" 120
|
font-optical-sizing |
Passt die Schrift automatisch an die verwendete Schriftgröße an.
|
auto,
none
|
font-size-adjust |
Verbessert die Lesbarkeit von Ersatzschriften durch Anpassung der
x-Höhe.
|
none,
Zahlenwert
|
font-synthesis |
Legt fest, ob der Browser fehlende Schriftvarianten künstlich
erzeugen darf.
|
none,
weight,
style,
small-caps
|
font-palette |
Wählt eine Farbpalette für farbige OpenType-Schriften aus.
|
normal,
light,
dark
|
Kurze Beispiele
/* Schmale Schrift */
h2 {
font-stretch: condensed;
}
/* Kerning aktivieren */
body {
font-kerning: normal;
}
/* Ligaturen verwenden */
p {
font-feature-settings: "liga";
}
/* Variable Font */
h1 {
font-variation-settings: "wght" 650;
}
/* Automatische Größenanpassung */
body {
font-optical-sizing: auto;
}
Hinweis:
Die hier vorgestellten Eigenschaften werden hauptsächlich von modernen
OpenType- und Variable Fonts unterstützt. Ob eine Eigenschaft Wirkung
zeigt, hängt von den Fähigkeiten der verwendeten Schriftart und der
Browserunterstützung ab.
font (Kurzschreibweise)
Die Eigenschaft font ist die Kurzschreibweise mehrerer
Schrift-Eigenschaften. Mit einer einzigen CSS-Anweisung können unter
anderem Schriftstil, Schriftstärke, Schriftgröße, Zeilenhöhe und
Schriftfamilie festgelegt werden.
Die Kurzschreibweise sorgt für übersichtlicheren CSS-Code und wird häufig
verwendet. Dabei müssen jedoch bestimmte Angaben in einer festgelegten
Reihenfolge erfolgen.
Syntax
Selektor {
font:
[font-style]
[font-variant]
[font-weight]
[font-stretch]
font-size
[/line-height]
font-family;
}
Hinweis:
Die Reihenfolge der Angaben ist fest vorgegeben. Nur
font-size und font-family sind Pflichtangaben.
Alle anderen Eigenschaften sind optional.
Zusammengefasste Eigenschaften
| Eigenschaft |
Wird durch font gesetzt |
font-style |
Ja (optional) |
font-variant |
Ja (optional) |
font-weight |
Ja (optional) |
font-stretch |
Ja (optional) |
font-size |
Ja (Pflicht) |
line-height |
Optional (nach /) |
font-family |
Ja (Pflicht) |
Einfache Beispiele
body {
font: 16px Arial, Helvetica, sans-serif;
}
p {
font: italic 1rem Georgia, serif;
}
h2 {
font: bold 2rem Arial, sans-serif;
}
Zeilenhöhe angeben
Die Zeilenhöhe wird unmittelbar nach der Schriftgröße angegeben und durch
einen Schrägstrich (/) getrennt.
body {
font: 16px/1.6 Arial, Helvetica, sans-serif;
}
article {
font: italic bold 18px/1.8 Georgia, serif;
}
Reihenfolge beachten
Die Angaben müssen in einer festgelegten Reihenfolge erfolgen.
Die Reihenfolge der optionalen Eigenschaften
font-style,
font-variant,
font-weight und
font-stretch
kann untereinander variieren. Die Pflichtangaben
font-size und
font-family stehen jedoch immer am Ende der Anweisung.
font: italic small-caps bold 1rem/1.5 Arial, sans-serif;
Systemschriften verwenden
Mit dem Schlüsselwort system-ui kann die Standardschrift des
Betriebssystems verwendet werden.
body {
font: 1rem/1.5 system-ui, sans-serif;
}
System-Schlüsselwörter
CSS kennt außerdem einige Schlüsselwörter, mit denen die
Standardschriftarten des Betriebssystems übernommen werden können.
Diese Werte werden heute nur noch selten verwendet.
| Schlüsselwort |
Bedeutung |
caption |
Schrift von Beschriftungen. |
icon |
Schrift für Symbolbeschriftungen. |
menu |
Schrift für Menüs. |
message-box |
Schrift von Dialogfenstern. |
small-caption |
Kleinere Beschriftungsschrift. |
status-bar |
Schrift der Statusleiste. |
Vollständiges Beispiel
body {
font: 16px/1.6 Arial, Helvetica, sans-serif;
}
h1 {
font: bold 2.5rem Georgia, serif;
}
h2 {
font: italic 700 1.8rem/1.3 "Times New Roman", serif;
}
code {
font: 0.95rem Consolas, "Courier New", monospace;
}
Achtung:
Wird die Kurzschreibweise font verwendet, werden alle
enthaltenen Schrift-Eigenschaften neu gesetzt. Nicht angegebene Werte
werden auf ihren Standardwert zurückgesetzt.
Empfehlung:
Die Kurzschreibweise eignet sich besonders, wenn mehrere
Schrift-Eigenschaften gleichzeitig festgelegt werden sollen. Werden nur
einzelne Eigenschaften geändert, sind die entsprechenden Einzelangaben
meist übersichtlicher.