CSS line-height Eigenschaft
Die CSS-Eigenschaft line-height legt die Zeilenhöhe fest. Definition, Werte und Beispiele.
Die Eigenschaft line-height legt die Höhe einer Zeilenbox fest und steuert den vertikalen Abstand zwischen den Textzeilen. Sie ist eine der wichtigsten Eigenschaften für die Lesbarkeit: Zu eng zusammenstehende Zeilen sind schwer zu erfassen, während zu weit auseinanderliegende Zeilen einen Absatz zusammenhanglos wirken lassen.
Diese Seite behandelt die Syntax, jeden akzeptierten Wertetyp, warum einheitenlose Werte in der Regel die beste Wahl sind, sowie die Fallstricke bei Zugänglichkeit und Vererbung.
line-height verhält sich je nach Elementtyp unterschiedlich:
- Bei Blockelementen legt die Eigenschaft
line-heightdie minimale Zeilenhöhe der Zeilenboxen innerhalb des Elements fest. - Bei nicht-ersetzbaren Inline-Elementen legt sie die Höhe fest, die bei der Berechnung der Zeilenboxhöhe verwendet wird.
- Bei ersetzbaren Inline-Elementen wie Buttons oder anderen input-Elementen hat
line-heightin der Regel keinen Einfluss auf die Berechnung der Zeilenboxhöhe.
Negative Werte sind gültig.
Die Standard-Zeilenhöhe beträgt in den meisten Browsern etwa 110 % bis 120 %.
Die Eigenschaft line-height legt den Durchschuss der Textzeilen fest. Wenn der Wert von line-height größer ist als der Wert von font-size eines Elements, ist die Differenz der Durchschuss des Textes.
| Anfangswert | normal |
|---|---|
| Gilt für | Alle Elemente. |
| Vererbt | Ja. |
| Animierbar | Ja. Die Zeilenhöhe ist animierbar. |
| Version | CSS1 |
| DOM Syntax | object.style.lineHeight = "40px"; |
Syntax
Syntax der CSS-Eigenschaft line-height
line-height: normal | number | length | percentage | calc | initial | inherit;Beispiel mit dem Wert normal:
Beispiel der CSS-Eigenschaft line-height mit dem Wert normal
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
div {
line-height: normal;
}
</style>
</head>
<body>
<h2>Line-height property example</h2>
<h3>line-height: normal (default)</h3>
<div>This is a paragraph with a standard line-height.
<br /> The standard line height in most browsers is about 110% to 120%.
</div>
</body>
</html>Ergebnis
Beispiel mit dem Wert length:
Beispiel der CSS-Eigenschaft line-height mit dem Wert px
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
div {
line-height: 10px;
}
</style>
</head>
<body>
<h2>Line-height property example</h2>
<h3>line-height: 10px</h3>
<div>This is a paragraph with a specified line-height.
<br /> The line height here is set to 10 pixels.
</div>
</body>
</html>Beispiel mit dem Wert percentage:
Beispiel der CSS-Eigenschaft line-height mit dem Wert %(Prozent)
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
div {
line-height: 200%;
}
</style>
</head>
<body>
<h2>Line-height property example</h2>
<h2>line-height: 200%</h2>
<div>This is a paragraph with a bigger line-height.
<br /> The line height here is set to 200%.
</div>
</body>
</html>Beispiel mit mehreren Werten:
Beispiel der CSS-Eigenschaft line-height mit den Werten cm, px, %(Prozent), normal und number
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
div.a {
line-height: 1;
}
div.b {
line-height: 50px;
}
div.c {
line-height: 0.5cm;
}
div.d {
line-height: 1cm;
}
div.e {
line-height: 200%;
}
div.f {
line-height: normal;
}
</style>
</head>
<body>
<h2>Line-height property example</h2>
<h3>line-height: 1</h3>
<div class="a">This is a paragraph with a specified line-height.
<br /> The line height here is set to 1.
</div>
<h3>line-height: 50px</h3>
<div class="b">This is a paragraph with a specified line-height.
<br /> The line height here is set to 50 pixels.
</div>
<h3>line-height: 0.5cm</h3>
<div class="c">This is a paragraph with a specified line-height.
<br /> The line height here is set to 0.5 centimeter.
</div>
<h3>line-height: 1cm</h3>
<div class="d">This is a paragraph with a specified line-height.
<br /> The line height here is set to 1 centimeter.
</div>
<h3>line-height: 200%</h3>
<div class="e">This is a paragraph with a bigger line-height.
<br /> The line height here is set to 200%.
</div>
<h3>line-height: normal</h3>
<div class="f">This is a paragraph with a standard line-height.
<br /> The standard line height in most browsers is about 110% to 120%.
</div>
</body>
</html>Wahl eines Werts: einheitenlos vs. mit Einheit
Dies ist die wichtigste Entscheidung beim Festlegen von line-height, und sie hängt davon ab, wie der Wert vererbt wird:
- Eine einheitenlose Zahl (z. B.
line-height: 1.5) wird als Faktor selbst vererbt. Jedes Kindelement multipliziert den Faktor mit seiner eigenenfont-size, sodass der Abstand immer korrekt skaliert. - Eine Länge oder ein Prozentwert (z. B.
1.5emoder150%) wird einmalig berechnet an dem Element, wo er deklariert wird, und der resultierende Pixelwert wird vererbt. Kindelemente mit einer anderenfont-sizebehalten diese feste Pixelhöhe, was dazu führen kann, dass Text überlappt.
Vergleichen Sie beide Varianten bei einem Elternelement, dessen Kindelement eine größere Schrift hat:
<!DOCTYPE html>
<html>
<head>
<style>
/* Recommended: each element scales the factor by its own font-size */
.good { line-height: 1.5; }
/* Problematic: computed pixel height is inherited as-is */
.bad { line-height: 150%; }
.child { font-size: 3em; }
</style>
</head>
<body>
<div class="good">
Parent text. <span class="child">Big inherited line scales fine.</span>
</div>
<div class="bad">
Parent text. <span class="child">Big inherited line may overlap.</span>
</div>
</body>
</html>Faustregel: Verwenden Sie eine einheitenlose Zahl für Fließtext. Greifen Sie auf eine feste Länge (px/em) nur dann zurück, wenn Sie bewusst eine konstante Zeilenbox möchten, etwa um eine einzelne Textzeile vertikal zu zentrieren, indem Sie line-height auf die Höhe des Elements abstimmen.
Zugänglichkeit
Das Erfolgskriterium WCAG 1.4.12 zur Textabstandsgestaltung erwartet, dass Inhalte auch dann lesbar bleiben, wenn Benutzer den Zeilenabstand auf mindestens das 1,5-Fache der Schriftgröße erhöhen. Ein einheitenloser line-height-Wert von 1.5 oder mehr für Fließtext ist ein sicherer, zugänglicher Standard und verhindert, dass Layouts kaputt gehen, wenn ein Benutzer seinen eigenen Abstand anwendet.
Werte
| Wert | Beschreibung | Ausprobieren |
|---|---|---|
| normal | Legt eine normale Zeilenhöhe fest. Dies ist der Standardwert der Eigenschaft. | Ausprobieren » |
| length | Legt eine feste Zeilenhöhe in px, cm, em usw. fest. | Ausprobieren » |
| number | Legt eine Zahl fest, die mit der aktuellen Schriftgröße multipliziert wird, um die Zeilenhöhe zu bestimmen. | Ausprobieren » |
| % | Legt eine Zeilenhöhe als Prozentsatz der aktuellen Schriftgröße fest. | Ausprobieren » |
| calc | Legt eine Zeilenhöhe mithilfe einer Berechnung fest. | Ausprobieren » |
| initial | Setzt die Eigenschaft auf ihren Standardwert zurück. | Ausprobieren » |
| inherit | Erbt die Eigenschaft vom übergeordneten Element. |
Hinweis: Die Verwendung der Einheit em wird für skalierbare Zeilenhöhen allgemein empfohlen.