The StyleWorksCSS { Referenz · Labor · Übungen }
  1. Startseite
  2. Referenz
  3. white-space

CSS 2.1 · Eigenschaft

CSS-Eigenschaft white-space

Vollreferenz zu white-space: erlaubte Werte, Ausgangswert, Vererbung, Beispiel – und ein Regler, der zeigt, was die Eigenschaft tut.

Erstveröffentlichung Lesezeit 4 min
stylesheet.css · white-space
.probe {
  white-space: pre;
}

Erste Zeile mit drei Leerzeichen Zweite Zeile nach einem Zeilenumbruch im Quelltext, lang genug, um am Rand der Box umbrechen zu müssen.

berechneter Wertwhite-space: pre
Box-Breite–
Box-Höhe–

Erläuterungen

Der Wert der Eigenschaft white-space legt fest, wie das Anwenderprogramm mit Leerzeichen umgeht. Sie ist jedoch nicht dazu da, die Räume zwischen Worten zu ändern. Dafür ist word-spacing vorgesehen.

Erlaubte Werte

Auszug aus der Spezifikation (die verwendete Syntax wird im Artikel CSS-Wertesyntax genauer erläutert):

'white-space'
normal | pre | nowrap | pre-wrap | pre-line | inherit
normal (Ausgangswert)
Mehrere Leerzeichen hintereinander werden zu einem zusammengezogen, falls nötig werden Zeilenumbrüche eingefügt. Weitere Zeilenumbrüche lassen sich durch das Element <BR /> oder durch \A in generierten Inhalten einfügen.
pre
Sequenzen von Leerzeichen werden in vollständiger Länge ausgegeben. Zeilenumbrüche erfolgen nur durch das Element <BR /> oder durch \A in generierten Inhalten. Dies entspricht der Wirkung des HTML-Elements PRE.
nowrap
Mehrere Leerzeichen werden zu einem zusammengezogen, ein Zeilenumbruch erfolgt nur, wo er im Quelltext ausdrücklich vorgegeben ist. Die Wirkung entspricht der des Attributs nowrap in HTML.
pre-wrap
Dieser Wert stellt eine Sequenz von Freizeichen in ganzer Länge dar. Zeilenumbrüche erfolgen dort, wo sie durch das Element <BR /> oder durch \A in generierten Inhalten explizit definiert wurden und am normalen Ende einer Zeile, d. h. dort, wo der Zeilenumbruch auch normalerweise stattfinden würde.
pre-line
Dieser Wert weist Anwenderprogramme an, mehrere Leerzeichen zu einem Zeichen zusammenzuziehen. Zeilenumbrüche erfolgen dort, wo sie durch das Element <BR /> oder durch \A in generierten Inhalten explizit definiert wurden und am normalen Ende einer Zeile.
inherit
Bestimmt explizit, dass diese Eigenschaft denselben berechneten Wert wie im Elternelement annimmt.

Code-Beispiel

TD P { white-space:nowrap; }

Browserunterstützung

Die Eigenschaft white-space wird von allen modernen Browsern unterstützt, mit folgenden Einschränkungen:

 
Alle Werte aus CSS 2 werden korrekt dargestellt, die mit CSS 2.1 neu hinzu gekommenene Werte pre-wrap und pre-line dagegen nicht.

Eric Meyer's CSS2 Test Suite zeigt am praktischen Beispiel, wie die Browser mit dieser Eigenschaft umgehen.

Keine Eigenschaft und kein Selektor stehen in einem Stylesheet für sich allein. In der Praxis kann das Zusammenspiel zwischen verschiedenen Elementen und Selektoren einen nicht zu unterschätzenden Einfluss auf die Fähigkeiten der Browser haben. Bugs treten oft erst durch das Zusammenwirken mehrerer Eigenschaften an unterschiedlichen Elementen auf.

Wechselwirkungen

(Keine.)

Drei Fragen, fünf Werte

Die fünf Werte beantworten in Wahrheit drei Fragen: Werden aufeinanderfolgende Leerzeichen zu einem zusammengefasst? Bleiben Zeilenumbrüche aus dem Quelltext erhalten? Darf am Zeilenende automatisch umbrochen werden?

Der Ausgangswert fasst zusammen, verwirft die Umbrüche aus dem Quelltext und bricht automatisch um. Der Wert für vorformatierten Text macht in allen drei Punkten das Gegenteil. Die übrigen drei Werte sind Mischungen: einer erhält alles, bricht aber zusätzlich automatisch um, einer verwirft die Leerzeichen, erhält aber die Umbrüche, und einer verhindert allein den automatischen Umbruch.

So gelesen ist die Wertemenge keine Liste von Sonderfällen mehr, sondern eine Tabelle, in der sich jeder Wert an drei Ja-Nein-Entscheidungen wiederfindet. Fünf der acht denkbaren Kombinationen haben einen Namen bekommen.

Zwei Fälle bleiben in dieser Aufstellung ohne Namen, weil sie sich nicht sinnvoll ergäben, und einer ist mit dem Ausgangswert bereits abgedeckt. Wer die Werte auf diese Weise ordnet, muss sie nicht auswendig lernen, sondern kann sie ableiten.

Wofür die Werte gebraucht werden

Vorformatierter Text ist der Fall, für den die Eigenschaft ursprünglich gedacht war: Quelltext, Tabellen aus Zeichen, Gedichte. Alles, wo die Anordnung im Quelltext die Anordnung in der Darstellung sein soll.

Der Wert, der nur den automatischen Umbruch verhindert, wird dagegen fast immer punktuell benutzt, für eine einzelne Angabe, die nicht auseinandergerissen werden darf: eine Telefonnummer, ein Datum, eine Maßangabe mit ihrer Einheit, der Name einer Schaltfläche. Bei längerem Text ist er gefährlich, weil die Zeile dann über den Rand hinausläuft.

Die Mischform, die Umbrüche erhält und trotzdem automatisch umbricht, ist die praktische Wahl für Quelltext auf schmalen Bildschirmen. Sie behält die Einrückung und verhindert doch, dass eine lange Zeile waagerechtes Schieben erzwingt.

Eine Warnung gilt für vorformatierten Text auf schmalen Bildschirmen. Ein Wert, der den automatischen Umbruch abschaltet, erzeugt dort waagerechtes Schieben für die ganze Seite, nicht nur für den betroffenen Block, sofern dieser nicht ausdrücklich seinen Überlauf abschneidet oder eigene Rollbalken bekommt. Der Block braucht deshalb fast immer eine Angabe zum Überlauf dazu.

Die Eigenschaft wird vererbt. Ein Wert an einem Container gilt damit für alles darin, was bei vorformatiertem Text gewollt ist und bei einem punktuell gesetzten Umbruchverbot leicht zu weit reicht.

Für Tabellenzellen ist der Wert, der den Umbruch verhindert, mit Vorsicht zu verwenden. Eine Zelle, deren Inhalt nicht umbrechen darf, zwingt ihre Spalte auf die Breite des längsten Inhalts, und bei einer Tabelle, die sich sonst dem Platz anpassen würde, entsteht daraus waagerechtes Schieben für die ganze Tabelle.

Besonderheiten im Medientyp handheld

Diese Eigenschaft ist Teil des Standards CSS Mobile Profile 1.0 und unterliegt damit auch in Mobilgeräten allen relevanten Regeln aus CSS 2.1.

Bisher sind nur die bereits in CSS 2 definierten Werte Teil des Standards für Mobilgeräte. Die in CSS 2.1 ergänzten Werte wurden noch nicht mit aufgenommen.

Weitere Charakteristika

Die Stylesheet-Schnellreferenz mit einer Zusammenfassung aller visuellen Eigenschaften kann auch als PDF-Datei herunter geladen werden.

Ausgangswert
normal
Berechneter Wert
Spezifizierter Wert
Vererbung
Ja
Anwendbarkeit
Block-Level Elemente
%-Bezugswert
Nicht zutreffend
Mediengruppe(n)
Visual

Verwendete Standards

Dieser CSS-Referenz liegen folgende Spezifikationen zugrunde: CSS 1, CSS 2.1 CR und CSS Mobile.