Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

white-space CSS property

Baseline Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Die white-space CSS-Eigenschaft legt fest, wie Leerzeichen innerhalb eines Elements behandelt werden.

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;
}

Die Eigenschaft legt zwei Dinge fest:

  • Ob und wie Leerzeichen zusammengefasst werden.
  • Ob und wie Zeilen umgebrochen werden.

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

Bestandteileigenschaften

Diese Eigenschaft ist eine Kurzschrift für die folgenden CSS-Eigenschaften:

Hinweis: Die Spezifikation definiert eine dritte Bestandteileigenschaft: white-space-trim, die noch in keinem Browser implementiert ist.

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: nowrap;
white-space: wrap;
white-space: break-spaces;
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 oder zwei Schlüsselwörter angegeben werden, die die Werte für die Eigenschaften white-space-collapse und text-wrap-mode darstellen, oder die folgenden speziellen Schlüsselwörter:

normal

Leerraumsequenzen werden zusammengefasst. Zeilenumbruchzeichen im Quelltext werden wie andere Leerzeichen behandelt. Zeilen werden bei Bedarf umgebrochen, um Zeilenboxen zu füllen. Entspricht collapse wrap.

pre

Leerraumsequenzen werden beibehalten. Zeilen werden nur bei Zeilenumbruchzeichen im Quelltext und bei <br>-Elementen umgebrochen. Entspricht preserve nowrap.

pre-wrap

Leerraumsequenzen werden beibehalten. Zeilen werden bei Zeilenumbruchzeichen, bei <br> und bei Bedarf umgebrochen, um Zeilenboxen zu füllen. Entspricht preserve wrap.

pre-line

Leerraumsequenzen werden zusammengefasst. Zeilen werden bei Zeilenumbruchzeichen, bei <br> und bei Bedarf umgebrochen, um Zeilenboxen zu füllen. Entspricht preserve-breaks wrap.

Hinweis: Die white-space-Eigenschaft als Kurzschrift ist eine relativ neue Funktion (siehe Browser-Kompatibilität). Ursprünglich hatte sie sechs Schlüsselwortwerte; jetzt wird der Wert nowrap stattdessen als Wert für text-wrap-mode interpretiert, während der Wert break-spaces als Wert für white-space-collapse interpretiert wird. Die oben genannten vier Schlüsselwörter sind weiterhin spezifisch für white-space, haben aber Langform-Äquivalente. Die Änderung, white-space als Kurzschrift einzuführen, erweitert die akzeptablen Werte um noch mehr Schlüsselwörter und Kombinationen, wie wrap und collapse.

Die folgende Tabelle fasst das Verhalten dieser vier white-space-Schlüsselwortwerte zusammen:

Zeilenumbrüche Leerzeichen und Tabs Textumbruch Leerzeichen am Zeilenende Andere Leerzeichentrenner am Zeilenende
normal Zusammenfassen Zusammenfassen Umbruch Entfernen Hängenbleiben
pre Beibehalten Beibehalten Kein Umbruch Beibehalten Kein Umbruch
pre-wrap Beibehalten Beibehalten Umbruch Hängenbleiben Hängenbleiben
pre-line Beibehalten Zusammenfassen Umbruch Entfernen Hängenbleiben

Ein Tab hat standardmäßig 8 Leerzeichen und kann mit der tab-size-Eigenschaft konfiguriert werden. Im Fall der Werte normal, nowrap und pre-line wird jeder Tab in ein Leerzeichen (U+0020) umgewandelt.

Hinweis: Es gibt eine Unterscheidung zwischen Leerzeichen und anderen Leerzeichentrennern. 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, die nicht bereits als Leerzeichen definiert sind.

Wo Leerzeichen als hängenbleibend bezeichnet werden, kann dies die Größe der Box beeinträchtigen, wenn sie für die intrinsische Größenbestimmung gemessen wird.

Formale Definition

Anfangswertnormal
Anwendbar aufalle Elemente
VererbtJa
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

white-space = 
normal |
pre |
pre-wrap |
pre-line |
<'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>

<white-space-collapse> =
collapse |
discard |
preserve |
preserve-breaks |
preserve-spaces |
break-spaces

<text-wrap-mode> =
wrap |
nowrap

<white-space-trim> =
none |
discard-before || discard-after || discard-inner

Beispiele

Grundlegendes Beispiel

css
code {
  white-space: pre;
}

Zeilenumbrüche innerhalb von <pre>-Elementen

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

In Aktion

Steuerung des Zeilenumbruchs in Tabellen

HTML

html
<table>
  <tbody>
    <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>
  </tbody>
</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 im SVG-Text-Element

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

HTML

Der Text innerhalb des <text>-Elements muss in mehrere Zeilen aufgeteilt werden, damit die neuen Zeilen erkannt werden. Nach der ersten Zeile müssen die restlichen Leerzeichen 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

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

Browser-Kompatibilität

Siehe auch