PFAD: ./module/css/css1/

DATEI: string(25) "00Inhaltsverzeichnis1.php"
DATEI: string(15) "01CSS-Basic.php"
DATEI: string(14) "02CSS-Font.php"
DATEI: string(14) "03CSS-Text.php"
DATEI: string(23) "04CSS-Aufzaehlungen.php"
DATEI: string(16) "04CSS-Rahmen.php"
DATEI: string(21) "05CSS-Hintergrund.php"
DATEI: string(19) "06CSS-Abstaende.php"
DATEI: string(16) "07Box-Modell.php"
DATEI: string(18) "08CSS-Tabellen.php"
DATEI: string(21) "09CSS-Multi-Media.php"
DATEI: string(28) "10Display-Float-Position.php"

css mit Adi Prinz

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.