tbody – Tabellenkörper

<tbody><tr><td>…</td></tr></tbody>

Der Körper einer Tabelle – die Zeilen mit Daten. Eine Tabelle kann mehrere haben, jeden für eine Gruppe von Zeilen (Monate, Kategorien). Stehen Zeilen direkt in table, umschließt der Browser sie selbst mit tbody.

  • Standarddarstellung: display: table-row-group
  • End-Tag: kann entfallen (auch das Start-Tag, wenn der Körper mit einer Zeile beginnt)
  • Inhalt: Zeilen tr
  • Wo es stehen darf: table – nach caption, colgroup und thead
  • DOM-Schnittstelle: HTMLTableSectionElement

Attribute

Nur globale Attribute (die veralteten align, valign ersetzt CSS).

Beispiele

Zwei Körper – jede Gruppe von Zeilen für sich, mit einer Linie dazwischen:

<table class="groups">
  <tbody>
    <tr><th>Brot</th><td>4,50 €</td></tr>
    <tr><th>Baguette</th><td>1,90 €</td></tr>
  </tbody>
  <tbody>
    <tr><th>Streuselkuchen</th><td>1,30 €</td></tr>
    <tr><th>Hefeschnecke</th><td>1,00 €</td></tr>
  </tbody>
</table>
.groups {
  border-collapse: collapse;
}
.groups tbody + tbody {
  border-top: 2px solid #8bc34a;
}
.groups th,
.groups td {
  padding: 2px 8px;
  text-align: left;
}
Ergebnis
Brot4,50 €
Baguette1,90 €
Streuselkuchen1,30 €
Hefeschnecke1,00 €

Worauf Sie achten sollten

  • Das ergänzte tbody ist immer im DOM: table.firstElementChild einer Tabelle ohne es liefert keine Zeile, sondern tbody.
  • Eine Zeile, die ein Skript mit table.insertRow() einfügt, landet im letzten tbody.

Browserunterstützung

Baseline – weithin verfügbar: funktioniert in allen gängigen Browsern, und das schon lange (spätestens seit 2015). Ab Version: Chrome 1, Firefox 1, Safari 1. Stand: Oktober 2026 (MDN browser-compat-data).

Siehe auch:
table – Tabelle
thead – Tabellenkopf
tfoot – Tabellenfuß
tr – Tabellenzeile