mitmario.dev

Tabellen-Styling

CSS bietet mehrere Eigenschaften, die speziell für HTML-Tabellen gelten. table-layout steuert, wie der Browser Spaltenbreiten berechnet. border-collapse bestimmt, ob Zellrahmen zusammenfallen oder getrennt bleiben. border-spacing definiert den Abstand zwischen den Zellen. caption-side positioniert die Tabellenüberschrift. Und empty-cells entscheidet, ob leere Zellen ihren Rahmen und Hintergrund zeigen. Zusammen ermöglichen diese Eigenschaften saubere, moderne Tabellen-Designs.

Steckbrief tabellen-styling
Syntax
table-layout: auto | fixed
Initialwert
auto
Vererbt
Nein
Animierbar
Nein
Kategorie
Listen & Tabellen
Werte
11
Beispiele
5
Browser
5 von 5
E-Mail
4 von 5
Stand
15.02.2026

Grundlagen

Tabellen haben in CSS besondere Eigenschaften, die auf anderen Elementen nicht funktionieren. Die wichtigsten betreffen das Rahmenverhalten und die Spaltenbreiten-Berechnung.

border-collapse: collapse ist die meistgenutzte Tabellen-Eigenschaft. Im Standard (separate) hat jede Zelle ihren eigenen Rahmen, was zu doppelten Linien zwischen Zellen führt. Mit collapse verschmelzen benachbarte Rahmen zu einer einzigen Linie. Das sieht in fast allen Fällen besser aus.

table-layout beeinflusst die Performance und Berechenbarkeit von Tabellen. Bei auto (Standard) berechnet der Browser die Spaltenbreiten anhand des gesamten Zellinhalts, was bei großen Tabellen langsam sein kann. Bei fixed richtet sich die Spaltenbreite nur nach der ersten Zeile und den gesetzten width-Werten, was schneller und vorhersehbarer ist.

Syntax & Werte

11 Werte

table-layout

Wert Beschreibung Beispiel
auto Spaltenbreiten werden automatisch anhand des gesamten Zellinhalts berechnet (Standard). Langsamer, aber passt sich an. table-layout: auto
fixed Spaltenbreiten richten sich nach der ersten Zeile und gesetzten width-Werten. Schneller und vorhersehbarer. table-layout: fixed

border-collapse

Wert Beschreibung Beispiel
separate Jede Zelle hat einen eigenen Rahmen. Abstand über border-spacing steuerbar (Standard). border-collapse: separate
collapse Benachbarte Rahmen verschmelzen zu einer Linie. border-spacing wird ignoriert. border-collapse: collapse

border-spacing

Wert Beschreibung Beispiel
<length> Gleicher Abstand horizontal und vertikal zwischen Zellen. border-spacing: 4px
<horizontal> <vertical> Unterschiedlicher Abstand horizontal und vertikal. border-spacing: 8px 4px
0 Kein Abstand zwischen Zellen. Ähnlich wie collapse, aber Rahmen bleiben separat. border-spacing: 0

caption-side

Wert Beschreibung Beispiel
top Überschrift über der Tabelle (Standard). caption-side: top
bottom Überschrift unter der Tabelle. caption-side: bottom

empty-cells

Wert Beschreibung Beispiel
show Leere Zellen zeigen Rahmen und Hintergrund (Standard). empty-cells: show
hide Leere Zellen werden unsichtbar (kein Rahmen, kein Hintergrund). empty-cells: hide

Beispiele

5 Beispiele

Der Unterschied zwischen collapse und separate ist besonders bei sichtbaren Rahmen deutlich: Bei separate entstehen doppelte Linien zwischen den Zellen.

border-collapse: separate vs. collapse
/* Doppelte Rahmen (Standard) */
table { border-collapse: separate; }

/* Zusammengefallene Rahmen (empfohlen) */
table { border-collapse: collapse; }

Barrierefreiheit

Verwende immer ein <caption>-Element für Tabellen. Es ist der zugänglichste Weg, den Zweck einer Tabelle zu beschreiben. Screenreader lesen die Caption vor, bevor sie den Tabelleninhalt präsentieren, sodass Nutzer sofort wissen, was sie erwartet. caption-side ändert nur die visuelle Position, nicht die semantische Rolle.

empty-cells: hide kann Screenreader-Nutzer verwirren, weil die Zelle visuell verschwindet, aber im DOM und für Screenreader noch vorhanden ist. Das kann zu einer Diskrepanz zwischen visueller und akustischer Darstellung führen. Wenn eine Zelle leer ist, überlege, ob ein Platzhaltertext wie ”-” oder “Keine Daten” semantisch sinnvoller wäre.

Tabellen-Header (<th>) brauchen ein scope-Attribut (col oder row), damit Screenreader die Beziehung zwischen Header und Datenzellen korrekt zuordnen können. Bei Zebra-Streifen mit nth-child sollte der Kontrastunterschied zwischen den Zeilen nicht zu subtil sein: mindestens ein Kontrastverhältnis von 3:1 zwischen Textfarbe und beiden Hintergrundfarben ist empfehlenswert.

Häufige Fehler

5 Fehler
01 border-spacing bei border-collapse: collapse setzen
border-spacing wird bei collapse komplett ignoriert. Die Eigenschaft wirkt nur bei separate. Wenn du Abstände zwischen Zellen bei collapse brauchst, verwende padding auf den Zellen.
02 table-layout: fixed ohne width auf der Tabelle
Ohne eine definierte Breite hat fixed keinen Effekt, weil der Browser keine Basis für die Spaltenberechnung hat. Setze immer width: 100% zusammen mit table-layout: fixed.
03 Doppelte Rahmen bei border-collapse: separate
Wenn jede Zelle einen Rahmen hat, entstehen zwischen benachbarten Zellen doppelte Linien. Die Lösung ist fast immer border-collapse: collapse.
04 Tabellen für Layout verwenden
HTML-Tabellen sind für tabellarische Daten gedacht, nicht für Seitenlayouts. Verwende Flexbox oder Grid für Layout-Zwecke. Tabellen-Layouts sind nicht responsive und schlecht für die Barrierefreiheit.
05 Responsive Design vergessen
Tabellen mit fester Breite sprengen auf kleinen Bildschirmen das Layout. Verwende immer einen Wrapper mit overflow-x: auto oder ein alternatives Layout für mobile Ansichten.

Browser-Kompatibilität

5 von 5

Alle Tabellen-Eigenschaften (table-layout, border-collapse, border-spacing, caption-side, empty-cells) werden seit über 20 Jahren von allen Browsern vollständig unterstützt.

  • Chrome

    Komplett

  • Firefox

    Komplett

  • Safari

    Komplett

  • Edge

    Komplett

  • Opera

    Komplett

Email-Kompatibilität

4 von 5

Tabellen sind das Grundgerüst des Email-Layouts. Die meisten Tabellen-Eigenschaften funktionieren gut, mit Einschränkungen in Outlook.

  • Apple Mail

    Komplett

  • Gmail

    Komplett

  • Outlook

    Teilweise

    border-collapse und border-spacing funktionieren. caption-side wird teilweise ignoriert. table-layout: fixed funktioniert

  • Thunderbird

    Komplett

  • Yahoo Mail

    Komplett

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.