mitmario.dev

CSS Spalten

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.

Steckbrief columns
Syntax
columns: <column-width> || <column-count>
Initialwert
auto auto
Vererbt
Nein
Animierbar
Ja
Kurzform für
column-width, column-count
Kategorie
Spalten
Werte
8
Beispiele
4
Browser
5 von 5
E-Mail
0 von 5
Stand
15.02.2026

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

8 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

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

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

5 Punkte
  • 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

5 von 5

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.

  • Chrome

    Komplett

  • Firefox

    Komplett

  • Safari

    Komplett

  • Edge

    Komplett

  • Opera

    Komplett

Email-Kompatibilität

0 von 5

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

  • Apple Mail

    Teilweise

    column-count funktioniert, column-width teilweise

  • Gmail

    Keine

    Kein Support für Multi-Column

  • Outlook

    Keine

    Kein Support, Tabellen verwenden

  • Yahoo Mail

    Keine

    Kein Support für Multi-Column

  • Thunderbird

    Teilweise

    Grundlegende Unterstützung

Newsletter

einmal die Woche, kostenlos

Neue Artikel und Videos, was sich auf der Lernplattform tut, und ab und zu ein Sonderpreis zum Kursstart. Kurz genug, dass du es auch liest.

Zuletzt verschickt · KW 40

Einmal alles neu, und die Lernplattform ist da

Danach kommt eine Mail mit Bestätigungslink, erst dann bist du eingetragen. Abmelden geht unten in jeder Ausgabe. Mehr dazu in der Datenschutzerklärung.