<tbody>: Das Table Body-Element
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Das <tbody>
HTML Element kapselt eine Gruppe von Tabellenzeilen (<tr>
Elemente) ein und zeigt an, dass sie den Hauptteil der Tabellen(daten) darstellen.
Probieren Sie es aus
<table>
<caption>
Council budget (in £) 2018
</caption>
<thead>
<tr>
<th scope="col">Items</th>
<th scope="col">Expenditure</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Donuts</th>
<td>3,000</td>
</tr>
<tr>
<th scope="row">Stationery</th>
<td>18,000</td>
</tr>
</tbody>
<tfoot>
<tr>
<th scope="row">Totals</th>
<td>21,000</td>
</tr>
</tfoot>
</table>
thead,
tfoot {
background-color: #2c5e77;
color: white;
}
tbody {
background-color: #e4f0f5;
}
table {
border-collapse: collapse;
border: 2px solid rgb(140 140 140);
font-family: sans-serif;
font-size: 0.8rem;
letter-spacing: 1px;
}
caption {
caption-side: bottom;
padding: 10px;
}
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
td {
text-align: center;
}
Attribute
Dieses Element enthält die globalen Attribute.
Veraltete Attribute
Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind unten zur Referenz dokumentiert, um vorhandenen Code zu aktualisieren und aus historischem Interesse.
align
Veraltet-
Bestimmt die horizontale Ausrichtung jeder Tabellenzelle. Die möglichen aufgezählten Werte sind
left
,center
,right
,justify
undchar
. Wenn unterstützt, richtet derchar
-Wert den Textinhalt auf das imchar
-Attribut definierte Zeichen und den imcharoff
-Attribut definierten Versatz aus. Verwenden Sie stattdessen dietext-align
CSS-Eigenschaft, da dieses Attribut veraltet ist. bgcolor
Veraltet-
Definiert die Hintergrundfarbe jeder Tabellenzelle. Der Wert ist eine HTML-Farbe; entweder ein 6-stelliger hexadezimaler RGB-Code, der mit einem
#
versehen ist, oder ein Farb-Schlüsselwort. Andere CSS<color>
Werte werden nicht unterstützt. Verwenden Sie stattdessen diebackground-color
CSS-Eigenschaft, da dieses Attribut veraltet ist. char
Veraltet-
Gibt die Ausrichtung des Inhalts an einem Zeichen jeder Tabellenzelle an. Typische Werte sind ein Punkt (
.
), wenn versucht wird, Zahlen oder Währungswerte auszurichten. Wennalign
nicht aufchar
gesetzt ist, wird dieses Attribut ignoriert. charoff
Veraltet-
Gibt die Anzahl der Zeichen an, um die der Tabellenzelleninhalt vom Ausrichtungszeichen verschoben wird, das durch das
char
-Attribut angegeben wird. valign
Veraltet-
Bestimmt die vertikale Ausrichtung jeder Tabellenzelle. Die möglichen aufgezählten Werte sind
baseline
,bottom
,middle
undtop
. Verwenden Sie dievertical-align
CSS-Eigenschaft, da dieses Attribut veraltet ist.
Nutzungshinweise
- Das
<tbody>
wird nach allen<caption>
,<colgroup>
und<thead>
Elementen platziert. - Wenn
<tr>
Elemente als direkte Kinder des<table>
spezifiziert werden (siehe „Tag-Auslassung“ im Technischen Überblick für eine Beschreibung, wann dies gültig ist), wird der von dem Browser generierte Markup ein<tbody>
-Element enthalten, das sie umschließt. Dadurch werden solche Elemente nicht von CSS-Selektoren wietable > tr
ausgewählt. Siehe auch das Beispiel Kein Body spezifiziert. - Es ist erlaubt, mehr als ein
<tbody>
pro Tabelle zu verwenden, solange sie alle aufeinander folgen. Dies ermöglicht es, die Zeilen (<tr>
Elemente) in großen Tabellen in Abschnitte zu unterteilen, von denen jeder separat formatiert werden kann, wenn gewünscht. Wenn nicht als aufeinanderfolgende Elemente markiert, wird der Autorfehler vom Browser korrigiert, der sicherstellt, dass alle<thead>
und<tfoot>
Elemente als erstes bzw. letztes Element der Tabelle gerendert werden. - Zusammen mit den zugehörigen
<thead>
und<tfoot>
Elementen bietet das<tbody>
Element nützliche semantische Informationen und kann verwendet werden, wenn der Inhalt entweder für Bildschirm oder Druck rendert. Die Spezifizierung solcher Tabelleninhaltsgruppen bietet außerdem wertvolle kontextuelle Informationen für unterstützende Technologien, einschließlich Screenreadern und Suchmaschinen. - Beim Drucken eines Dokuments, im Fall einer mehrseitigen Tabelle, spezifizieren die
<thead>
und<tfoot>
Elemente normalerweise Informationen, die auf jeder Seite gleichbleiben (oder mindestens sehr ähnlich sind), während die Inhalte des<tbody>
-Elements normalerweise von Seite zu Seite unterschiedlich sein werden. - Wenn eine Tabelle in einem Bildschirmkontext (wie ein Fenster) präsentiert wird, das nicht groß genug ist, um die gesamte Tabelle anzuzeigen, kann der Benutzeragent dem Benutzer erlauben, die Inhalte der
<thead>
,<tbody>
,<tfoot>
, und<caption>
Blöcke separat voneinander für das gleiche Elternteil-<table>
zu scrollen lassen.
Beispiele
Siehe <table>
für ein vollständiges Beispiel einer Tabelle, das gängige Standards und bewährte Praktiken vorstellt.
Kein Body spezifiziert
Dieses Beispiel demonstriert, dass der Browser <tr>
Elemente innerhalb eines <tbody>
-Elements automatisch kapselt, wenn die Zeilen nicht innerhalb eines Tabellengruppenelements (<tbody>
, <tfoot>
oder <thead>
) verschachtelt sind und, wie in diesem Beispiel, die direkten Kinder des <table>
Elements sind.
HTML
Hier wird eine sehr einfache Tabelle mit einigen Tabellenspalten (<tr>
Elemente) erstellt, die Daten (<td>
Elemente) über Studenten enthalten.
<table>
<tr>
<td>3741255</td>
<td>Jones, Martha</td>
<td>Computer Science</td>
<td>240</td>
</tr>
<tr>
<td>3971244</td>
<td>Nim, Victor</td>
<td>Russian Literature</td>
<td>220</td>
</tr>
<tr>
<td>4100332</td>
<td>Petrov, Alexandra</td>
<td>Astrophysics</td>
<td>260</td>
</tr>
</table>
CSS
Beachten Sie das CSS im Beispiel, wo eine background-color
für das <tbody>
-Element spezifiziert ist und tbody
als Teil eines zusätzlichen CSS-Selektors verwendet wird. Alternativ können Entwicklertools des Browsers verwendet werden, um das Vorhandensein des <tbody>
-Elements im DOM zu überprüfen.
tbody {
background-color: #e4f0f5;
}
tbody > tr > td:last-of-type {
width: 60px;
text-align: center;
}
Ergebnis
Grundlegende Körperstruktur
Dieses Beispiel erweitert und verbessert die grundlegende Tabelle aus dem vorherigen Beispiel.
HTML
Ein Tabellenkopf (<thead>
Element) wird eingeführt und ein <tbody>
-Element explizit verwendet, um die Tabelle in semantische Abschnitte zu strukturieren. Der Tabellenkopf enthält die Spaltenüberschriften (<th>
Elemente). Das <tbody>
-Element repräsentiert den Körperabschnitt der Tabelle, der eine Anzahl von Zeilen (<tr>
Elemente) mit den Hauptdaten der Tabelle enthält, das sind die Daten jedes Studenten.
Die Verwendung solcher Tabelleninhaltsgruppen und semantische Markup ist nicht nur nützlich für visuelle Präsentation (durch CSS-Styling) und kontextuelle Informationen für unterstützende Technologien; darüber hinaus hilft die explizite Verwendung des <tbody>
-Elements dem Browser, die beabsichtigte Tabellenstruktur zu erstellen und unerwünschte Ergebnisse zu vermeiden.
<table>
<thead>
<tr>
<th>Student ID</th>
<th>Name</th>
<th>Major</th>
<th>Credits</th>
</tr>
</thead>
<tbody>
<tr>
<td>3741255</td>
<td>Jones, Martha</td>
<td>Computer Science</td>
<td>240</td>
</tr>
<tr>
<td>3971244</td>
<td>Nim, Victor</td>
<td>Russian Literature</td>
<td>220</td>
</tr>
<tr>
<td>4100332</td>
<td>Petrov, Alexandra</td>
<td>Astrophysics</td>
<td>260</td>
</tr>
</tbody>
</table>
CSS
Das CSS ist fast unverändert vom vorherigen Beispiel, abgesehen von einigen grundlegenden Stiländerungen, um den Tabellenkopf hervorzuheben, sodass die Überschriften der Spalten sich vom Dateninhalt im Tabellenkörper abheben. Wie im Beispiel oben wird der tbody
Typ-Selektor verwendet, um die Körperzellen zu stylen.
tbody {
background-color: #e4f0f5;
}
tbody > tr > td:last-of-type {
text-align: center;
}
thead {
border-bottom: 2px solid rgb(160 160 160);
background-color: #2c5e77;
color: white;
}
Ergebnis
Mehrere Körper
Dieses Beispiel erweitert und verbessert die Tabelle aus dem oben genannten Beispiel noch weiter durch die Einführung mehrerer Körperabschnitte.
Die Verwendung mehrerer <tbody>
-Elemente erlaubt die Erstellung von Zeilengruppierungen innerhalb einer Tabelle. Jeder Tabellenkörper kann potenziell seine eigene Kopfzeile oder -zeilen haben; jedoch darf es nur ein <thead>
-Element pro Tabelle geben! Aufgrund dessen können <tr>
mit <th>
-Elementen verwendet werden, um innerhalb jedes <tbody>
Kopfzeilen zu erstellen.
HTML
Ausgehend von der Tabelle im vorherigen grundlegenden Beispiel, werden weitere Studenten hinzugefügt, und anstatt das Hauptfach jedes Studenten in jeder Zeile aufzulisten, werden die Studenten nach Hauptfach gruppiert. Beachten Sie, dass jedes Hauptfach in seinem eigenen <tbody>
-Block eingeschlossen ist, wobei die erste Zeile (<tr>
Element) als Kopf des Blocks dient und den Titel des Hauptfachs innerhalb eines <th>
Elements anzeigt, das das colspan
Attribut verwendet, um die Kopfzeile über alle drei Spalten der Tabelle zu erstrecken. Jede verbleibende Zeile innerhalb jedes Hauptfach-<tbody>
repräsentiert einen Studenten.
<table>
<thead>
<tr>
<th>Student ID</th>
<th>Name</th>
<th>Credits</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="3">Computer Science</th>
</tr>
<tr>
<td>3741255</td>
<td>Jones, Martha</td>
<td>240</td>
</tr>
<tr>
<td>4077830</td>
<td>Pierce, Benjamin</td>
<td>200</td>
</tr>
<tr>
<td>5151701</td>
<td>Kirk, James</td>
<td>230</td>
</tr>
</tbody>
<tbody>
<tr>
<th colspan="3">Russian Literature</th>
</tr>
<tr>
<td>3971244</td>
<td>Nim, Victor</td>
<td>220</td>
</tr>
</tbody>
<tbody>
<tr>
<th colspan="3">Astrophysics</th>
</tr>
<tr>
<td>4100332</td>
<td>Petrov, Alexandra</td>
<td>260</td>
</tr>
<tr>
<td>8892377</td>
<td>Toyota, Hiroko</td>
<td>240</td>
</tr>
</tbody>
</table>
CSS
Der Großteil des CSS bleibt unverändert. Es wurde jedoch ein etwas subtilerer Stil für Kopfzeilen hinzugefügt, die direkt innerhalb eines <tbody>
(im Gegensatz zu jenen, die sich im <thead>
befinden) enthalten sind. Dies wird verwendet, um die Kopfzeilen anzuzeigen, die dem entsprechenden Hauptfach jeder Tabellensektion zugeordnet sind.
tbody > tr > th {
border-top: 2px solid rgb(160 160 160);
border-bottom: 1px solid rgb(140 140 140);
background-color: #e4f0f5;
font-weight: normal;
}
tbody {
background-color: whitesmoke;
}
thead {
background-color: #2c5e77;
color: white;
}
Ergebnis
Technische Übersicht
Inhaltskategorien | Keine. |
---|---|
Zulässiger Inhalt | Null oder mehr <tr> Elemente. |
Tag-Auslassung |
Ein <tbody> -Elementanfangstag kann weggelassen werden, wenn das erste Element im <tbody> -Element ein <tr> -Element ist und wenn das Element nicht unmittelbar von einem <tbody> , <thead> oder <tfoot> Element gefolgt wird, dessen Endetag weggelassen wurde. (Es kann nicht weggelassen werden, wenn das Element leer ist.)
Ein <tbody> -Elementendtag kann weggelassen werden, wenn das <tbody> -Element unmittelbar von einem <tbody> oder <tfoot> -Element gefolgt wird, oder wenn im Elternelement kein weiterer Inhalt mehr vorhanden ist.
|
Zulässige Eltern |
Innerhalb des erforderlichen Elternelements <table>
kann das <tbody> -Element nach allen
<caption> ,
<colgroup> ,
und <thead> Elementen hinzugefügt werden.
|
Implizite ARIA-Rolle |
rowgroup
|
Zulässige ARIA-Rollen | Jede |
DOM-Schnittstelle | [`HTMLTableSectionElement`](/de/docs/Web/API/HTMLTableSectionElement) |
Spezifikationen
Specification |
---|
HTML # the-tbody-element |
Browser-Kompatibilität
Siehe auch
- Lernen: HTML Tabellen Grundlagen
<caption>
,<col>
,<colgroup>
,<table>
,<td>
,<tfoot>
,<th>
,<thead>
,<tr>
: Andere tabellenbezogene Elementebackground-color
: CSS-Eigenschaft, um die Hintergrundfarbe jeder Tabellenzelle zu setzenborder
: CSS-Eigenschaft zur Steuerung der Begrenzungen von Tabellenzellentext-align
: CSS-Eigenschaft zur horizontalen Ausrichtung des Inhalts jeder Tabellenzellevertical-align
: CSS-Eigenschaft zur vertikalen Ausrichtung des Inhalts jeder Tabellenzelle