Schriften (Font)
CSS-Typografie beschreibt die textuelle Gestaltung durch definierte Schriftattribute und deren visuelle Wirkung: Welche Schrift wird verwendet, wie gross ist sie, wie dick oder kursiv erscheint sie.
font-family
Schriftart wählen
Mit font-family wird festgelegt, welche Schrift verwendet wird. Mehrere Schriften werden als Fallback-Kette angegeben – der Browser nimmt die erste verfügbare.
Wichtig: Ob eine Schrift verfügbar ist, hängt davon ab, ob sie:
- lokal auf dem System installiert ist (Systemfont), oder
- als Webfont geladen wird (siehe: Lektion Webfonts)
body {
font-family: "Trebuchet MS", Arial, sans-serif;
}
Das System lädt Trebuchet MS, dann Arial, sonst eine beliebige Sans-Serif.
Schriftnamen mit Leerzeichen müssen in Anführungszeichen gesetzt werden
Generische Schriftfamilien
Am Ende einer Fallback-Kette sollte immer eine generische Familie stehen. Der Browser wählt dann eine passende Systemschrift.
serifSchriften mit Serifen (Füsschen), z.B. Times New Roman, Georgiasans-serifSchriften ohne Serifen, z.B. Arial, Helvetica, VerdanamonospaceSchriften mit fester Breite für alle Zeichen, z.B. Courier NewcursiveHandschriftliche SchriftenfantasyDekorative/Fantasieschriften
serif: The quick brown fox jumps over the lazy dog.
sans-serif: The quick brown fox jumps over the lazy dog.
monospace: The quick brown fox jumps over the lazy dog.
cursive: The quick brown fox jumps over the lazy dog.
fantasy: The quick brown fox jumps over the lazy dog.
Generische Schriftfamilien können von Browsern unterschiedlich dargestellt werden.
Häufige System-Schriften
Diese Schriften sind auf den meisten Systemen vorinstalliert und können sicher verwendet werden:
Arialsans-serifHelveticasans-serifVerdanasans-serifTrebuchet MSsans-serifTimes New RomanserifGeorgiaserifPalatinoserifCourier Newmonospace
Tipp: Nutze immer eine Fallback-Kette mit generischer Familie am Ende.
font-weight
Schriftstärke
Legt die Strichstärke (das Gewicht) der Schrift fest.
normalNormale Strichstärke (entspricht 400)boldFett (entspricht 700)bolderDicker als das Elternelement (relativ)lighterDünner als das Elternelement (relativ)100–900Numerische Werte in 100er-Schritten (100 = Thin, 400 = Normal, 700 = Bold, 900 = Black)
h1 { font-weight: normal; } /* Überschrift nicht fett */
.highlight { font-weight: bold; }
Wichtig: Numerische Werte funktionieren nur, wenn die verwendete Schrift den entsprechenden Schnitt auch wirklich enthält (z.B. Regular/Bold/Black).
Wenn ein Schnitt fehlt: Der Browser wählt den nächst passenden verfügbaren Schnitt oder simuliert das Gewicht künstlich (Faux Bold – sieht oft schlechter aus).
font-style
Schriftneigung
Bestimmt die Neigung der Schrift.
normalNormale, aufrechte Schrift (Standard)italicKursiv (echte kursive Schriftart, falls verfügbar)obliqueSchräg (künstlich geneigt, falls keine echte Kursive vorhanden)
em { font-style: italic; }
cite { font-style: italic; }
.upright { font-style: normal; }
Unterschied italic vs. oblique:
italicnutzt eine echte kursive Schriftart (wenn vorhanden) mit eigenen Buchstabenformenobliqueist nur eine künstliche Schrägstellung der normalen Schrift
letter-spacing
Buchstabenabstand
letter-spacing legt den zusätzlichen Abstand zwischen Buchstaben fest. Standardmässig ist dieser Wert 0 (normal).
h1 { letter-spacing: 0.1em;}
Werte
normalStandard-Abstand (entspricht 0)emRelativ zur Schriftgrösse:0.05empxAbsolut:2pxNegative WerteMöglich:-0.05em(engere Buchstaben)
Positive Werte – Buchstaben auseinander
Der schnelle braune Fuchs springt
letter-spacing: 0; /* normal */
Der schnelle braune Fuchs springt
letter-spacing: 0.1em; /* locker */
Der schnelle braune Fuchs springt
letter-spacing: 0.3em; /* sehr locker */
Negative Werte – Buchstaben enger
Der schnelle braune Fuchs springt
letter-spacing: -0.05em; /* enger */
Vorsicht: Negative Werte können bei manchen Schriften zu unlesbaren Überlappungen führen.
Beispiele
1. Überschriften in Grossbuchstaben
Moderne Überschrift
h1 {
text-transform: uppercase;
letter-spacing: 0.05em;
}
GROSSBUCHSTABEN wirken ohne zusätzlichen Abstand oft zu gedrängt. Ein kleiner letter-spacing von 0.05em bis 0.1em verbessert die Lesbarkeit deutlich.
2. Kleine Schriften lesbarer machen
Kleiner Text mit letter-spacing: 0.05em – besser lesbar
font-size: 0.75rem;
letter-spacing: 0.05em;
Kleiner Text ohne letter-spacing – etwas schwerer zu lesen
font-size: 0.75rem;
letter-spacing: 0; /* normal */
3. Logo-Schriftzüge und Branding
Brand Name
font-size: 2rem;
letter-spacing: 0.2em;
text-transform: uppercase;
Wann NICHT verwenden?
- Fliesstext: Normaler Absatztext braucht meist keinen zusätzlichen letter-spacing
- Enge Layouts: Mehr Buchstabenabstand = mehr Platz nötig
- Script-Schriften: Handschriftliche Fonts werden oft unleserlich
Best Practices
- Verwende
emstattpx– skaliert besser mit der Schriftgrösse - Für Uppercase-Überschriften:
0.05embis0.15em - Für Logos/Branding:
0.1embis0.3em - Negative Werte sparsam einsetzen (max.
-0.05em) - Immer in verschiedenen Schriftgrössen testen
word-spacing
Wortabstand
word-spacing legt den zusätzlichen Abstand zwischen Wörtern fest. Diese Eigenschaft wird deutlich seltener verwendet als letter-spacing.
p {
word-spacing: 0.2em;
}
Werte
normalStandard-Wortabstand (entspricht 0)emRelativ:0.5empxAbsolut:10pxNegative WerteMöglich:-0.2em(engere Wörter)
Positive Werte – Wörter auseinander
Der schnelle braune Fuchs springt über den faulen Hund
word-spacing: 0; /* normal */
Der schnelle braune Fuchs springt über den faulen Hund
word-spacing: 0.5em; /* locker */
Der schnelle braune Fuchs springt über den faulen Hund
word-spacing: 1em; /* sehr locker */
Negative Werte – Wörter enger
Der schnelle braune Fuchs springt über den faulen Hund
word-spacing: -0.2em; /* enger */
Vorsicht: Negative Werte können Wörter zu nah beieinander bringen und die Lesbarkeit verschlechtern.
Wann wird word-spacing verwendet?
1. Künstlerische/Dekorative Texte
S P A C E D O U T
font-size: 2rem;
word-spacing: 0.3em;
2. Korrektur bei Blocksatz
Bei text-align: justify entstehen manchmal zu grosse Lücken. Mit negativem word-spacing kann das kompensiert werden:
text-align: justify;
word-spacing: -0.05em;
Wann NICHT verwenden?
- Normaler Fliesstext: Standard-Wortabstand ist fast immer optimal
- Bei automatischem Blocksatz: Der Browser verteilt Abstände bereits automatisch
- Responsive Layouts: Feste word-spacing kann bei verschiedenen Bildschirmgrössen problematisch sein
Best Practice: word-spacing wird sehr selten benötigt – der Standard-Wortabstand ist fast immer optimal. Nur in Spezialfällen wie künstlerischen Texten oder Blocksatz-Korrekturen anpassen.
Alle drei Eigenschaften kombiniert
Die drei Eigenschaften line-height, letter-spacing und word-spacing beeinflussen sich gegenseitig und können zusammen eingesetzt werden:
Perfekt abgestimmte Überschrift
Dies ist ein Absatz mit optimierten Abständen. Die line-height sorgt für angenehme Zeilenabstände, während minimales letter-spacing die Lesbarkeit bei dieser Schriftgrösse verbessert.
h3 {
line-height: 1.2;
letter-spacing: 0.05em;
word-spacing: 0.1em;
text-transform: uppercase;
}
p {
line-height: 1.6;
letter-spacing: 0.01em;
word-spacing: 0;
}
font-variant – Kapitälchen
Erzeugt Kapitälchen (Small Caps), abhängig von der verwendeten Schrift.
normalNormale Darstellungsmall-capsKleinbuchstaben werden als verkleinerte Grossbuchstaben dargestellt
The Quick Brown Fox Jumps Over The Lazy Dog
.caps { font-variant: small-caps; }
font
Kurzschreibweise für Fonts
Mit der font-Eigenschaft lassen sich mehrere Font-Eigenschaften in einer Zeile kombinieren. Die Reihenfolge ist wichtig!
Syntax
font: [font-style] [font-variant] [font-weight] font-size[/line-height] font-family;
Pflichtangaben: font-size und font-family müssen immer angegeben werden.
Optional: font-style, font-variant, font-weight und line-height
Hinweis: Der Slash / wird nur benötigt, wenn line-height gesetzt werden soll (z.B. 1.5rem/1.3).
Dieser Text nutzt die Kurzschreibweise:
font: bold 1.5rem/1.3 Georgia, serif;
.title {
font: bold 1.5rem/1.3 Georgia, serif;
}
/* Entspricht: */
.title {
font-weight: bold;
font-size: 1.5rem;
line-height: 1.3;
font-family: Georgia, serif;
}
Vorsicht: Die font-Kurzschreibweise setzt alle nicht angegebenen Werte auf ihren Standard zurück. In der Praxis werden die einzelnen Eigenschaften oft separat gesetzt, um mehr Kontrolle zu haben.
/* Vorher */
h1 {
font-weight: 900;
font-size: 2rem;
}
/* Nachher - font-weight wird auf 400 (normal) zurückgesetzt! */
h1 {
font: 2rem Arial, sans-serif;
}
Kurz gesagt
font-familymit Fallback-Kette und generischer Familie am Enderemfür konsistente Grössen,emnur wenn kontextabhängig gewünschtvw= 1% der Viewport-Breite,vh= 1% der Viewport-Höheclamp(min, preferred, max)für fluid responsive Typografie mit Grenzenfont-weightfunktioniert nur mit verfügbaren Schriftschnittenitalicist echte Kursive,obliquenur geneigtletter-spacinglegt den Buchstabenabstand fest – wird vor allem für Überschriften in GROSSBUCHSTABEN verwendet- Positive letter-spacing-Werte (0.05em - 0.15em) verbessern Lesbarkeit bei Uppercase-Text
word-spacinglegt den Wortabstand fest – wird sehr selten verwendet- Standard-Wortabstand ist fast immer optimal, nur in Spezialfällen anpassen
- Alle drei Eigenschaften verwenden
emfür bessere Skalierung
Font Themen Font Size | Font Styling | Font line-height | Text Umbruch