white-space

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Die white-space CSS Eigenschaft legt fest, wie Weißraum innerhalb eines Elements behandelt wird.

Probieren Sie es aus

white-space: normal;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;
white-space: wrap;
white-space: collapse;
white-space: preserve nowrap;
<section class="default-example" id="default-example">
  <div id="example-element">
    <p>
      But ere she from the church-door stepped She smiled and told us why: 'It
      was a wicked woman's curse,' Quoth she, 'and what care I?' She smiled, and
      smiled, and passed it off Ere from the door she stept—
    </p>
  </div>
</section>
#example-element {
  width: 16rem;
}

#example-element p {
  border: 1px solid #c5c5c5;
  padding: 0.75rem;
  text-align: left;
}

Diese Eigenschaft spezifiziert zwei Dinge:

  • Ob und wie Weißraum kollabiert.
  • Ob und wie Zeilen umbrochen werden.

Hinweis: Um Wörter innerhalb ihrer selbst zu umbrechen, verwenden Sie stattdessen overflow-wrap, word-break oder hyphens.

Syntax

css
/* Single keyword values */
white-space: normal;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;

/* white-space-collapse and text-wrap-mode shorthand values */
white-space: wrap;
white-space: collapse;
white-space: preserve nowrap;

/* Global values */
white-space: inherit;
white-space: initial;
white-space: revert;
white-space: revert-layer;
white-space: unset;

Werte

Die Werte der white-space Eigenschaft können als ein einziges Schlüsselwort aus der untenstehenden Liste von Werten angegeben werden, oder als zwei Werte, die als Kurzschrift für die Eigenschaften white-space-collapse und text-wrap-mode stehen.

normal

Sequenzen von Weißraum werden kollabiert. Zeilenumbrüche im Quelltext werden wie andere Weißräume behandelt. Zeilen werden nach Bedarf umbrochen, um Zeilenboxen zu füllen.

pre

Weißraumsequenzen werden beibehalten. Zeilen werden nur an Zeilenumbrüchen im Quelltext und an <br> Elementen umbrochen.

pre-wrap

Weißraumsequenzen werden beibehalten. Zeilen werden an Zeilenumbrüchen, an <br> und nach Bedarf umbrochen, um Zeilenboxen zu füllen.

pre-line

Weißraumsequenzen werden kollabiert. Zeilen werden an Zeilenumbrüchen, an <br> und nach Bedarf umbrochen, um Zeilenboxen zu füllen.

Die folgende Tabelle fasst das Verhalten der verschiedenen white-space Schlüsselwort-Werte zusammen:

Neue Zeilen Leerzeichen und Tabs Textumbruch Leerzeichen am Zeilenende Andere Leerzeichentrenner am Zeilenende
normal Kollabieren Kollabieren Umbruch Entfernen Hängen
pre Beibehalten Beibehalten Kein Umbruch Beibehalten Kein Umbruch
pre-wrap Beibehalten Beibehalten Umbruch Hängen Hängen
pre-line Beibehalten Kollabieren Umbruch Entfernen Hängen

Ein Tab ist standardmäßig auf 8 Leerzeichen eingestellt und kann mit der tab-size Eigenschaft konfiguriert werden. Bei den Werten normal, nowrap und pre-line wird jeder Tab in ein Leerzeichen (U+0020) Zeichen umgewandelt.

Hinweis: Es wird zwischen Leerzeichen und anderen Leerzeichentrennern unterschieden. Diese sind wie folgt definiert:

Leerzeichen

Leerzeichen (U+0020), Tabs (U+0009) und Segmentumbrüche (wie Zeilenumbrüche).

andere Leerzeichentrenner

Alle anderen in Unicode definierten Leerzeichentrenner, außer denen, die bereits als Leerzeichen definiert sind.

Wo Weißraum als hängend bezeichnet wird, kann dies die Größe der Box beeinflussen, wenn sie zur intrinsischen Größenbestimmung gemessen wird.

Kollabieren von Weißraum

Formale Definition

Anfangswertnormal
Anwendbar aufalle Elemente
VererbtJa
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

white-space = 
normal |
pre |
nowrap |
pre-wrap |
break-spaces |
pre-line

Beispiele

Grundlegendes Beispiel

css
code {
  white-space: pre;
}

Zeilenumbrüche in <pre> Elementen

css
pre {
  white-space: pre-wrap;
}

In Aktion

Steuerung des Zeilenumbruchs in Tabellen

HTML

html
<table>
  <tr>
    <td></td>
    <td>Very long content that splits</td>
    <td class="nw">Very long content that don't split</td>
  </tr>
  <tr>
    <td class="nw">white-space:</td>
    <td>normal</td>
    <td>nowrap</td>
  </tr>
</table>

CSS

css
table {
  border-collapse: collapse;
  border: solid black 1px;
  width: 250px;
  height: 150px;
}
td {
  border: solid 1px black;
  text-align: center;
}
.nw {
  white-space: nowrap;
}

Ergebnis

Mehrere Zeilen in einem SVG-Textelement

Die white-space CSS-Eigenschaft kann verwendet werden, um mehrere Zeilen in einem <text> Element zu erstellen, welches standardmäßig nicht umbrechen kann.

HTML

Der Text innerhalb des <text> Elements muss in mehrere Zeilen aufgeteilt werden, damit die neuen Zeilen erkannt werden. Nach der ersten Zeile muss bei den restlichen der Weißraum entfernt werden.

html
<svg viewBox="0 0 320 150">
  <text y="20" x="10">Here is an English paragraph
that is broken into multiple lines
in the source code so that it can
be more easily read and edited
in a text editor.
  </text>
</svg>

CSS

css
text {
  white-space: break-spaces;
}

Ergebnis

Spezifikationen

Specification
CSS Text Module Level 4
# white-space-property
Scalable Vector Graphics (SVG) 2
# TextWhiteSpace

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch