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.
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.
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\Ain 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\Ain generierten Inhalten. Dies entspricht der Wirkung des HTML-ElementsPRE. 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
nowrapin 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\Ain 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\Ain 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-wrapundpre-linedagegen 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.