CSS Spalten

Zuletzt aktualisiert am 15. Februar 2026

Mit CSS Multi-Column-Layout kannst du Text automatisch in mehrere Spalten aufteilen, genau wie in einer Zeitung oder einem Magazin. Die Eigenschaft column-count legt die Anzahl der Spalten fest, column-width definiert die Mindestbreite pro Spalte, und columns ist die Kurzschreibweise für beides zusammen. Das Besondere: Der Browser verteilt den Inhalt automatisch gleichmäßig auf die Spalten, und bei weniger Platz reduziert er die Spaltenanzahl von selbst.

Syntax
columns: <column-width> || <column-count>
Initialwert
auto auto
Vererbt
Nein
Animierbar
Ja
Shorthand für
column-widthcolumn-count

Grundlagen

Das Multi-Column-Layout eignet sich besonders gut für Fließtext, der in mehrere Spalten aufgeteilt werden soll. Im Gegensatz zu Flexbox oder Grid brauchst du keine zusätzlichen Wrapper-Elemente. Du setzt einfach column-count oder column-width auf einen Container, und der Browser verteilt den Inhalt automatisch.

Der Unterschied zu Flexbox und Grid: Beim Multi-Column-Layout fließt der Text von einer Spalte in die nächste, ähnlich wie in einem Buch. Flexbox und Grid sind dagegen für die Anordnung von separaten Elementen gedacht. Wenn du also einen langen Text in Spalten umbrechen willst, ist columns die richtige Wahl. Für Karten-Layouts oder komplexe Seitenstrukturen greifst du besser zu Flexbox oder Grid.

column-count gibt eine feste Spaltenanzahl vor. column-width definiert eine Mindestbreite pro Spalte, und der Browser berechnet daraus, wie viele Spalten reinpassen. Am flexibelsten bist du, wenn du column-width verwendest, weil sich die Spaltenanzahl dann automatisch an die Viewport-Breite anpasst.

Syntax & Werte

column-count

Wert Beschreibung Beispiel
auto Spaltenanzahl wird durch andere Eigenschaften bestimmt (z.B. column-width)
<integer> Feste Anzahl an Spalten (z.B. 2, 3, 4). Der Browser verteilt den Inhalt gleichmäßig

column-width

Wert Beschreibung Beispiel
auto Spaltenbreite wird durch andere Eigenschaften bestimmt (z.B. column-count)
<length> Mindestbreite pro Spalte (z.B. 200px, 15rem). Der Browser berechnet die Spaltenanzahl automatisch

columns (Shorthand)

Die columns-Eigenschaft kombiniert column-width und column-count in einer Deklaration. Die Reihenfolge ist egal, der Browser erkennt am Typ, was was ist.

Wert Beschreibung Beispiel
auto Beide Werte auf auto (kein Mehrspalten-Layout)
<column-width> Nur Mindestbreite angeben: columns: 200px (count wird auto)
<column-count> Nur Anzahl angeben: columns: 3 (width wird auto)
<column-width> <column-count> Beides angeben: columns: 200px 3 (maximal 3 Spalten, mindestens 200px breit)

Beispiele

Einfacher Mehrspalten-Text

Text in 3 Spalten mit column-count
.three-columns {
  column-count: 3;
  line-height: 1.6;
}

Responsive Spalten mit column-width

Automatische Spaltenanzahl mit column-width: 200px
.responsive-columns {
  column-width: 200px; /* Mindestbreite pro Spalte */
  line-height: 1.6;
}

/* Keine Media Queries nötig!
   Breiter Viewport → mehr Spalten
   Schmaler Viewport → weniger Spalten */

columns Shorthand

Drei Varianten des columns Shorthand
/* Nur Spaltenanzahl */
.text-a {
  columns: 3;
}

/* Nur Mindestbreite */
.text-b {
  columns: 180px;
}

/* Beides: maximal 3 Spalten, mindestens 200px breit */
.text-c {
  columns: 200px 3;
}

Zeitungslayout

Klassisches Zeitungslayout mit Spalten
.newspaper-body {
  column-count: 3;
  column-gap: 28px;
  column-rule: 1px solid #d1d5db;
  line-height: 1.7;
  text-align: justify;
}

/* Initiale (großer Anfangsbuchstabe) */
.newspaper-body p:first-child::first-letter {
  font-size: 3.2em;
  font-weight: 700;
  float: left;
  line-height: 0.8;
  margin: 0.05em 0.1em 0 0;
}

Barrierefreiheit

Lesereihenfolge beachten: Text in Spalten wird visuell spaltenweise dargestellt (von oben nach unten in Spalte 1, dann Spalte 2, usw.). Screen-Reader lesen den Inhalt aber in der DOM-Reihenfolge, also den gesamten Fließtext am Stück. Das ist in der Regel kein Problem, solange du den Text nicht manuell in separate Elemente pro Spalte aufteilst.

Zu viele Spalten vermeiden: Auf kleinen Bildschirmen können zu viele Spalten dazu führen, dass Nutzer ständig hin- und herscrollen müssen. Verwende column-width statt column-count, damit sich die Spaltenanzahl automatisch an den verfügbaren Platz anpasst.

Zoombarkeit sicherstellen: Wenn Nutzer die Schriftgröße vergrößern, sollte sich das Layout anpassen. Mit column-width in relativen Einheiten (z.B. 15em) funktioniert das automatisch. Feste Spaltenanzahlen können bei großer Schrift zu extrem schmalen Spalten führen.

Häufige Fehler

  • column-count auf Flex- oder Grid-Container: Wenn ein Element gleichzeitig display: flex oder display: grid hat, wird column-count ignoriert. Multi-Column-Layout funktioniert nur auf Block-Level-Containern.

  • Zu schmale Spalten: Bei column-count: 5 auf einem schmalen Viewport wird jede Spalte nur wenige Wörter breit. Verwende lieber column-width oder eine Kombination aus columns: 200px 5, damit der Browser die Spaltenanzahl reduziert, wenn der Platz nicht reicht.

  • Fehlende column-width für Responsivität: Wer nur column-count: 3 setzt, bekommt immer 3 Spalten, auch auf dem Smartphone. Das ist selten gewünscht. Entweder column-width verwenden oder mit Media Queries die Spaltenanzahl anpassen.

  • Bilder und Elemente werden zerschnitten: Ohne break-inside: avoid können Bilder, Karten oder andere Blockelemente mitten in der Spalte umgebrochen werden. Setze break-inside: avoid auf Elemente, die nicht aufgeteilt werden sollen.

  • columns und column-count gleichzeitig: Da columns ein Shorthand für column-width und column-count ist, überschreibt es beide Einzelwerte. Setze nicht columns und danach column-count separat, es sei denn, du willst den Shorthand-Wert überschreiben.

Browser-Kompatibilität

CSS Multi-Column-Layout wird seit über 10 Jahren von allen Browsern vollständig unterstützt. columns, column-count und column-width funktionieren überall ohne Präfixe.

ClientUnterstützungHinweise
ChromeKomplett
FirefoxKomplett
SafariKomplett
EdgeKomplett
OperaKomplett

Email-Kompatibilität

CSS Columns funktionieren in den meisten E-Mail-Clients nicht. Für mehrspaltige Layouts in E-Mails musst du auf HTML-Tabellen zurückgreifen.

ClientUnterstützungHinweise
Apple MailTeilweisecolumn-count funktioniert, column-width teilweise
GmailKeineKein Support für Multi-Column
OutlookKeineKein Support, Tabellen verwenden
Yahoo MailKeineKein Support für Multi-Column
ThunderbirdTeilweiseGrundlegende Unterstützung

Verwandte Eigenschaften

Bleib auf dem Laufenden

Erhalte neue Inhalte direkt in dein Postfach

Mit der Anmeldung akzeptierst du unsere Datenschutzerklärung. Du kannst dich jederzeit über den Link in den E-Mails wieder abmelden.

Was erwartet dich?

Neue Artikel & Videos

Wenn ich was Neues veröffentliche, erfährst du's hier zuerst.

Plattform & Kurs-Updates

Neue Kurse, Referenz-Updates und gelegentlich Sonderpreise zum Launch.

Einmal die Woche in deinem Postfach

Kurz, auf den Punkt, kein Spam.