Spalten-Styling

Zuletzt aktualisiert am 15. Februar 2026

Nachdem du mit columns oder column-count ein Mehrspalten-Layout erstellt hast, kannst du es mit weiteren Eigenschaften verfeinern. column-gap steuert den Abstand zwischen den Spalten, column-rule zeichnet eine Trennlinie dazwischen, column-span lässt Elemente wie Überschriften über alle Spalten hinweg laufen, und column-fill bestimmt, ob der Inhalt gleichmäßig verteilt oder der Reihe nach aufgefüllt wird.

Syntax
column-rule: <width> <style> <color>
Initialwert
medium none currentcolor
Vererbt
Nein
Animierbar
Ja

Grundlagen

column-gap definiert den Abstand zwischen den Spalten. Ohne expliziten Wert verwendet der Browser den Standard normal, der meist 1em entspricht. Du kannst beliebige Längeneinheiten verwenden (px, rem, em, etc.). Übrigens: column-gap ist dieselbe Eigenschaft, die auch bei Flexbox und Grid funktioniert.

column-rule ist die Kurzschreibweise für eine Trennlinie zwischen den Spalten. Sie funktioniert genau wie die border-Eigenschaft: Du gibst Breite, Stil und Farbe an. Die Trennlinie nimmt keinen zusätzlichen Platz ein, sondern wird in der Mitte des column-gap gezeichnet. Du kannst auch die Einzelwerte column-rule-width, column-rule-style und column-rule-color verwenden.

column-span ermöglicht es einem Element, aus dem Spaltenfluss auszubrechen und sich über alle Spalten zu erstrecken. Das ist perfekt für Zwischenüberschriften, Zitate oder Banner innerhalb eines Mehrspalten-Textes. Es gibt nur zwei Werte: none (Standard) und all.

column-fill steuert, wie der Inhalt auf die Spalten verteilt wird. Mit balance (Standard) verteilt der Browser den Inhalt möglichst gleichmäßig. Mit auto füllt er die Spalten der Reihe nach auf, was nur bei einer festen Höhe des Containers sichtbar wird.

Syntax & Werte

column-gap

Wert Beschreibung Beispiel
normal Standard-Abstand des Browsers (typischerweise 1em)
<length> Fester Abstand in px, rem, em etc. (z.B. 2rem, 40px)

column-rule (Shorthand)

column-rule kombiniert Breite, Stil und Farbe in einer Deklaration, genau wie border.

Wert Beschreibung Beispiel
<width> Breite der Trennlinie (z.B. 1px, 2px, thin, medium, thick)
<style> Linienstil: none, solid, dotted, dashed, double, groove, ridge, inset, outset
<color> Farbe der Linie (z.B. #ccc, rgb(), currentcolor)

column-rule-width, column-rule-style, column-rule-color

Die Einzelwerte von column-rule für gezielte Änderungen.

Wert Beschreibung Beispiel
column-rule-width Breite: thin, medium, thick oder <length> (z.B. 2px)
column-rule-style Stil: none, solid, dotted, dashed, double, groove, ridge, inset, outset
column-rule-color Farbe: jede gültige CSS-Farbe (Standard: currentcolor)

column-span

Wert Beschreibung Beispiel
none Element bleibt im normalen Spaltenfluss (Standard)
all Element erstreckt sich über alle Spalten hinweg

column-fill

Wert Beschreibung Beispiel
balance Inhalt wird möglichst gleichmäßig auf alle Spalten verteilt (Standard)
auto Spalten werden der Reihe nach aufgefüllt (nur sichtbar bei fester Höhe)

Beispiele

column-gap: Verschiedene Abstände

Verschiedene column-gap Werte im Vergleich
.gap-small {
  column-count: 3;
  column-gap: 10px; /* Eng */
}

.gap-medium {
  column-count: 3;
  column-gap: 40px; /* Mittel (empfohlen) */
}

.gap-large {
  column-count: 3;
  column-gap: 80px; /* Weit */
}

column-rule: Trennlinien-Stile

Verschiedene column-rule Stile
.rule-solid {
  column-rule: 1px solid #d1d5db;
}

.rule-dotted {
  column-rule: 2px dotted #7c3aed;
}

.rule-dashed {
  column-rule: 2px dashed #059669;
}

.rule-double {
  column-rule: 4px double #1a56db;
}

column-span: Überschrift über alle Spalten

Überschrift und Zitat über alle Spalten
.span-content {
  column-count: 3;
  column-gap: 32px;
  column-rule: 1px solid #e5e7eb;
}

/* Erstreckt sich über alle Spalten */
.span-heading {
  column-span: all;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  border-top: 2px solid #1a56db;
  border-bottom: 2px solid #1a56db;
  padding: 16px 0;
}

.span-quote {
  column-span: all;
  font-style: italic;
  text-align: center;
  padding: 12px 24px;
  background: #f5f3ff;
}

column-fill: auto vs. balance

balance (gleichmäßig) vs. auto (der Reihe nach)
/* Gleichmäßige Verteilung (Standard) */
.fill-balance {
  column-count: 3;
  column-fill: balance;
  height: 200px;
}

/* Spalten der Reihe nach füllen */
.fill-auto {
  column-count: 3;
  column-fill: auto;
  height: 200px; /* Feste Höhe erforderlich! */
}

Barrierefreiheit

Lesereihenfolge bei column-span: Wenn ein Element mit column-span: all den Spaltenfluss unterbricht, lesen Screen-Reader den Text in der DOM-Reihenfolge. Das bedeutet: Der Text vor dem Spanning-Element kommt zuerst, dann das Element selbst, dann der Text danach. Das entspricht dem visuellen Verhalten und ist unproblematisch.

Fokus-Reihenfolge bei column-span: Interaktive Elemente (Links, Buttons) innerhalb eines Mehrspalten-Layouts werden in DOM-Reihenfolge fokussiert, nicht in der visuellen Spaltenreihenfolge. Bei column-span: all sorge dafür, dass die Tab-Reihenfolge logisch bleibt.

column-rule und Kontrast: Die Trennlinie zwischen Spalten hilft sehenden Nutzern, die Spalten voneinander zu unterscheiden. Achte darauf, dass die column-rule-color genug Kontrast zum Hintergrund hat. Screen-Reader ignorieren die Trennlinie, da sie rein dekorativ ist.

Häufige Fehler

  • column-rule ohne column-rule-style: Wenn du nur column-rule-width und column-rule-color setzt, aber keinen column-rule-style, bleibt der Standardwert none und die Linie ist unsichtbar. Setze immer mindestens column-rule-style: solid.

  • column-span auf Nicht-Direct-Children: column-span: all funktioniert nur auf direkten Kindelementen des Mehrspalten-Containers. Wenn dein Element in einem Wrapper verschachtelt ist, wird column-span ignoriert.

  • column-fill: auto ohne feste Höhe: column-fill: auto hat nur einen sichtbaren Effekt, wenn der Container eine feste Höhe (height) hat. Ohne feste Höhe wächst der Container mit dem Inhalt, und balance und auto sehen identisch aus.

  • column-gap: 0 erwartet, dass Spalten aneinander kleben: Mit column-gap: 0 haben die Spalten keinen Abstand, aber Text kann trotzdem am Spaltenrand umbrechen und schwer lesbar wirken. Ein Mindestabstand von 1em ist empfehlenswert.

  • column-rule-width breiter als column-gap: Wenn die Trennlinie breiter als der Spaltenabstand ist, überlappt sie den Text. Stelle sicher, dass column-rule-width immer kleiner als column-gap ist.

Browser-Kompatibilität

Alle Spalten-Styling-Eigenschaften werden von sämtlichen modernen Browsern vollständig unterstützt. column-span hatte früher Probleme in Firefox, funktioniert aber seit Firefox 71 (2019) einwandfrei.

ClientUnterstützungHinweise
ChromeKomplett
FirefoxKomplett
SafariKomplett
EdgeKomplett
OperaKomplett

Email-Kompatibilität

Spalten-Styling-Eigenschaften werden in E-Mail-Clients nicht unterstützt. Für mehrspaltige E-Mail-Layouts verwende HTML-Tabellen mit festen Breiten.

ClientUnterstützungHinweise
Apple MailKeineKein Support für column-rule/span/fill
GmailKeineKein Support
OutlookKeineKein Support, Tabellen verwenden
Yahoo MailKeineKein Support
ThunderbirdKeineKein Support

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.