<th>: Das Tabellenkopf-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 <th>
HTML-Element definiert eine Zelle als Kopf einer Gruppe von Tabellenzellen und kann als Kind des <tr>
-Elements verwendet werden. Die genaue Natur dieser Gruppe wird durch die Attribute scope
und headers
definiert.
Probieren Sie es aus
<table>
<caption>
Alien football stars
</caption>
<tr>
<th scope="col">Player</th>
<th scope="col">Gloobles</th>
<th scope="col">Za'taak</th>
</tr>
<tr>
<th scope="row">TR-7</th>
<td>7</td>
<td>4,569</td>
</tr>
<tr>
<th scope="row">Khiresh Odo</th>
<td>7</td>
<td>7,223</td>
</tr>
<tr>
<th scope="row">Mia Oolong</th>
<td>9</td>
<td>6,219</td>
</tr>
</table>
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
th[scope="col"] {
background-color: #505050;
color: #fff;
}
th[scope="row"] {
background-color: #d6ecd4;
}
td {
text-align: center;
}
tr:nth-of-type(even) {
background-color: #eee;
}
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;
}
Attribute
Dieses Element umfasst die globalen Attribute.
abbr
-
Eine kurze, abgekürzte Beschreibung des Inhalts der Kopfzelle, die als alternatives Label bereitgestellt wird, um auf die Kopfzelle in anderen Kontexten zu verweisen. Einige Benutzeragenten, wie Screenreader, können diese Beschreibung vor dem eigentlichen Inhalt präsentieren.
colspan
-
Ein nicht-negativer ganzzahliger Wert, der angibt, wie viele Spalten die Kopfzelle überspannt oder erweitert. Der Standardwert ist
1
. Benutzeragenten verwerfen Werte über 1000 als inkorrekt und setzen solche Werte auf1
. headers
-
Eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die den
id
-Attributen der<th>
-Elemente entsprechen, die die Überschriften für diese Kopfzelle bereitstellen. rowspan
-
Ein nicht-negativer ganzzahliger Wert, der angibt, wie viele Zeilen die Kopfzelle überspannt oder erweitert. Der Standardwert ist
1
; wenn der Wert auf0
gesetzt ist, wird die Kopfzelle bis zum Ende des Tabellengruppierungsbereichs (<thead>
,<tbody>
,<tfoot>
, auch wenn implizit definiert) verlängert, zu dem das<th>
-Element gehört. Werte über65534
werden auf65534
beschränkt. scope
-
Definiert die Zellen, zu denen die Kopfelemente (im
<th>
-Element definiert) gehören. Mögliche aufzählbare Werte sind:row
: Die Kopfzeile bezieht sich auf alle Zellen der Zeile, zu der sie gehört;col
: Die Kopfzeile bezieht sich auf alle Zellen der Spalte, zu der sie gehört;rowgroup
: Die Kopfzeile gehört zu einer Zeilengruppe und bezieht sich auf alle ihre Zellen;colgroup
: Die Kopfzeile gehört zu einer Spaltengruppe und bezieht sich auf alle ihre Zellen.
Wenn das
scope
-Attribut nicht angegeben ist oder sein Wert nichtrow
,col
,rowgroup
odercolgroup
ist, wählen Browser automatisch den Satz von Zellen aus, auf den die Kopfzelle angewendet wird.
Veraltete Attribute
Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind unten dokumentiert, um sie beim Aktualisieren vorhandenen Codes als Referenz und aus historischem Interesse zu nutzen.
align
Veraltet-
Gibt die horizontale Ausrichtung der Kopfzelle an. Die möglichen aufzählbaren Werte sind
left
,center
,right
,justify
undchar
. Wenn unterstützt, richtet derchar
-Wert den Textinhalt an dem Zeichen aus, das imchar
-Attribut definiert ist, und an dem Versatz, der imcharoff
-Attribut definiert ist. Verwenden Sie stattdessen dietext-align
CSS-Eigenschaft, da dieses Attribut veraltet ist. axis
Veraltet-
Enthält eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die jeweils dem
id
-Attribut einer Gruppe von Zellen entsprechen, auf die die Kopfzelle angewendet wird. Verwenden Sie stattdessen dasscope
-Attribut, da dieses Attribut veraltet ist. bgcolor
Veraltet-
Definiert die Hintergrundfarbe der Kopfzelle. Der Wert ist eine HTML-Farbe; entweder ein sechsstelliger hexadezimaler RGB-Code, dem ein
#
vorangestellt ist, oder ein Farbbegriff. Andere CSS<color>
-Werte werden nicht unterstützt. Verwenden Sie stattdessen diebackground-color
CSS-Eigenschaft, da dieses Attribut veraltet ist. char
Veraltet-
Tut nichts. Es war ursprünglich dazu gedacht, die Ausrichtung des Inhalts an einem Zeichen der Kopfzelle anzugeben. Typische Werte hierfür sind ein Punkt (
.
), wenn versucht wird, Zahlen oder Währungswerte auszurichten. Wennalign
nicht aufchar
gesetzt ist, wird dieses Attribut ignoriert. charoff
Veraltet-
Tut nichts. Es war ursprünglich dazu gedacht, die Anzahl der Zeichen anzugeben, um die der Inhalt der Kopfzelle vom Ausrichtungszeichen, das durch das
char
-Attribut spezifiziert ist, zu versetzen. height
Veraltet-
Definiert eine empfohlene Höhe für die Kopfzelle. Verwenden Sie stattdessen die
height
CSS-Eigenschaft, da dieses Attribut veraltet ist. valign
Veraltet-
Gibt die vertikale Ausrichtung der Kopfzelle an. Die möglichen aufzählbaren Werte sind
baseline
,bottom
,middle
undtop
. Verwenden Sie stattdessen dievertical-align
CSS-Eigenschaft, da dieses Attribut veraltet ist. width
Veraltet-
Definiert eine empfohlene Breite für die Kopfzelle. Verwenden Sie stattdessen die
width
CSS-Eigenschaft, da dieses Attribut veraltet ist.
Verwendungshinweise
-
Das
<th>
-Element darf nur innerhalb eines<tr>
-Elements verwendet werden. -
In einfachen Kontexten ist die Verwendung des
scope
-Attributs auf Kopfzellen (<th>
-Elemente) redundant, dascope
abgeleitet wird. Bestimmte unterstützende Technologien können jedoch möglicherweise nicht korrekt ableiten, sodass die Angabe der Kopfbereichs die Benutzererfahrung verbessern kann. -
Bei der Verwendung der Attribute
colspan
undrowspan
, um Kopfzellen über mehrere Spalten und Zeilen hinweg zu umfassen, werden Zellen ohne diese definierten Attribute (mit einem Standardwert von1
) automatisch in freie verfügbare Räume in der Tabellenstruktur eingefügt, die 1x1-Zellen umfassen, wie in der folgenden Abbildung dargestellt:Hinweis: Diese Attribute dürfen nicht verwendet werden, um Zellen zu überlappen.
Beispiele
Siehe <table>
für ein vollständiges Tabellenbeispiel, das allgemeine Standards und Best Practices einführt.
Grundlegende Spalten- und Zeilenüberschriften
Dieses Beispiel verwendet <th>
-Elemente, um Spalten- und Zeilenüberschriften in einer grundlegenden Tabellenstruktur einzuführen.
HTML
Die erste Zeile (<tr>
-Element) enthält die Spaltenüberschriften (<th>
-Elemente), die als "Titel" für die Spalten fungieren, um das Verständnis der Informationen in den Spalten zu erleichtern und die Daten zu identifizieren. Um anzuzeigen, dass sich jede Spaltenüberschrift auf alle Zellen in der entsprechenden Spalte bezieht, wird das scope
-Attribut auf col
(Spalte) gesetzt.
Die verbleibenden Zeilen enthalten die Hauptdaten der Tabelle. Jede dieser Zeilen hat eine Zeilenüberschrift (<th>
-Element) als erste Zelle. Dadurch wird eine Spalte mit Zeilenüberschriften als erste Spalte der Tabelle erstellt. Ähnlich wie bei den Spaltenüberschriften wird das scope
-Attribut auf row
gesetzt, um anzugeben, auf welche Zellen sich jede Zeilenüberschrift bezieht, die in dem untenstehenden Beispiel alle Datenzellen (<td>
-Elemente) in jeder row
sind.
Hinweis:
Normalerweise werden die Gruppierungselemente <thead>
und <tbody>
verwendet, um Zeilen mit Überschriften in die jeweiligen Tabellenkopf- und Tabellenabschnittsbereiche zu gruppieren. Diese Elemente werden in diesem Beispiel weggelassen, um die Komplexität zu reduzieren und den Fokus auf die Verwendung von Kopfzellen zu richten.
<table>
<tr>
<th scope="col">Symbol</th>
<th scope="col">Code word</th>
<th scope="col">Pronunciation</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>DELL tah</td>
</tr>
</table>
CSS
Ein einfaches CSS wird verwendet, um die Tabelle und ihre Zellen zu gestalten. Wir verwenden CSS-Attributselektoren, um Kopfzellen basierend auf ihren scope
-Attributwerten anzusprechen, Spalten- und Zeilenüberschriften (<th>
-Elemente) hervorzuheben und sie voneinander und von den Datenzellen (<td>
) zu unterscheiden.
th,
td {
border: 1px solid rgb(160 160 160);
padding: 8px 10px;
}
th[scope="col"] {
background-color: #505050;
color: #fff;
}
th[scope="row"] {
background-color: #d6ecd4;
}
tr:nth-of-type(odd) td {
background-color: #eee;
}
Ergebnis
Spalten- und Zeilenüberspannung
Dieses Beispiel erweitert und verbessert die grundlegende Tabelle aus dem vorherigen Beispiel durch Hinzufügen einer zweiten Zeile für zusätzliche Spaltenüberschriften.
HTML
Eine zusätzliche Tabellenzeile (<tr>
-Element) wird als zweite Kopfzeile der Tabelle mit zwei zusätzlichen Spaltenüberschriften (<th>
-Elemente) hinzugefügt. Auf diese Weise wird die "Aussprache"-Spalte in zwei Spalten unterteilt, eine für die IPA (International Phonetic Alphabet)-Notation und eine für die Lautumschrift (die ursprüngliche Aussprachespalte). Die entsprechenden Datenzellen (<td>
-Elemente) werden zu jeder nachfolgenden Zeile hinzugefügt.
Wie in den Verwendungshinweisen gezeigt, können die Attribute colspan
und rowspan
für die <th>
-Elemente verwendet werden, um die Kopfzellen den richtigen Spalten und Zeilen zuzuordnen. Um in der Tabellenstruktur einen "zweizeiligen" Kopf zu erreichen, werden die ersten beiden Kopfzellen innerhalb des ersten <tr>
-Elements über zwei Zeilen gespannt. Die dritte Kopfzelle wird zwei Spalten lang (in der ersten Zeile verbleibend) gespannt. Diese Konfiguration lässt zwei verfügbare Bereiche in der dritten und vierten Spalte in der zweiten Zeile frei, in denen die beiden Kopfzellen innerhalb des zweiten <tr>
-Elements automatisch platziert werden, wobei der Standardwert für die Attribute colspan
und rowspan
1
ist.
Hinweis:
Normalerweise werden <thead>
- und <tbody>
-Elemente verwendet, um Zeilen mit Überschriften in die jeweiligen Tabellenkopf- und Tabellenabschnittsgruppen zu gruppieren. Dies ist in diesem Beispiel nicht implementiert, um sich auf die Überschriften und das Überspannen zu konzentrieren und die Komplexität des Beispiels zu reduzieren.
<table>
<tr>
<th scope="col" rowspan="2">Symbol</th>
<th scope="col" rowspan="2">Code word</th>
<th scope="col" colspan="2">Pronunciation</th>
</tr>
<tr>
<th scope="col">IPA</th>
<th scope="col">Respelling</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>ˈælfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>ˈbraːˈvo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>ˈtʃɑːli</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>ˈdeltɑ</td>
<td>DELL tah</td>
</tr>
</table>
CSS
Das CSS bleibt unverändert gegenüber dem vorherigen Beispiel.
Ergebnis
Kopfzellen mit anderen Kopfzellen verknüpfen
Für komplexere Beziehungen zwischen Kopfzellen kann die alleinige Verwendung von th
-Elementen mit dem scope
-Attribut für unterstützende Technologien, insbesondere Screenreader, nicht ausreichen.
HTML
Um die Barrierefreiheit des vorhergehenden Beispiels zu verbessern und zum Beispiel zu ermöglichen, dass Screenreader die mit jeder Kopfzelle assoziierten Überschriften vorlesen können, kann das headers
-Attribut zusammen mit id
-Attributen eingeführt werden. Aufgrund der Weise, in der die "Aussprachespalte" in zwei Spalten in dem Beispiel unterteilt ist und eine "zweizeilige" Kopfzeile eingeführt wird, können unterstützende Technologien wie Screenreader möglicherweise nicht erkennen, mit welchen zusätzlichen Kopfzellen (th
-Elementen) die "Aussprache"-Kopfzeile in Beziehung steht, und umgekehrt. Daher wird das headers
-Attribut auf den "Aussprache"-, "IPA"- und "Umschrift"-Kopfzellen verwendet, um die entsprechenden Kopfzellen basierend auf den Werten der eindeutigen Bezeichner der hinzugefügten id
-Attribute in Form einer Leerzeichen-getrennten Liste zu verknüpfen.
Hinweis:
Es wird empfohlen, beschreibendere und nützlichere Werte für das id
-Attribut zu verwenden. Jedes id
in einem Dokument muss eindeutig für dieses Dokument sein. In diesem Beispiel sind die id
-Werte Einzelbuchstaben, um den Fokus auf das Konzept des headers
-Attributs zu bewahren.
<table>
<tr>
<th scope="col" rowspan="2">Symbol</th>
<th scope="col" rowspan="2">Code word</th>
<th scope="col" colspan="2" id="p" headers="i r">Pronunciation</th>
</tr>
<tr>
<th scope="col" id="i" headers="p">IPA</th>
<th scope="col" id="r" headers="p">Respelling</th>
</tr>
<tr>
<th scope="row">A</th>
<td>Alfa</td>
<td>ˈælfa</td>
<td>AL fah</td>
</tr>
<tr>
<th scope="row">B</th>
<td>Bravo</td>
<td>ˈbraːˈvo</td>
<td>BRAH voh</td>
</tr>
<tr>
<th scope="row">C</th>
<td>Charlie</td>
<td>ˈtʃɑːli</td>
<td>CHAR lee</td>
</tr>
<tr>
<th scope="row">D</th>
<td>Delta</td>
<td>ˈdeltɑ</td>
<td>DELL tah</td>
</tr>
</table>
Ergebnis
Das visuelle Ergebnis bleibt unverändert gegenüber der vorherigen Beispielstabelle.
Technische Zusammenfassung
Inhaltskategorien | Keine. |
---|---|
Erlaubter Inhalt | Flow-Inhalt, jedoch ohne Nachkommen von Header, Footer, Gliederungsinhalt oder Überschrifteninhalt. |
Tag-Auslassung |
Das Anfangstag ist obligatorisch. Das Endtag kann weggelassen werden, wenn es unmittelbar von einem <th> oder <td> -Element gefolgt wird oder wenn es keine weiteren Daten in seinem Elternelement gibt.
|
Erlaubte Eltern | Ein <tr> -Element. |
Implizite ARIA-Rolle |
columnheader oder rowheader
|
Erlaubte ARIA-Rollen | Beliebig |
DOM-Schnittstelle | [`HTMLTableCellElement`](/de/docs/Web/API/HTMLTableCellElement) |
Spezifikationen
Specification |
---|
HTML # the-th-element |
Browser-Kompatibilität
Siehe auch
- Lernen: Grundlagen von HTML-Tabellen
<caption>
,<col>
,<colgroup>
,<table>
,<tbody>
,<td>
,<tfoot>
,<thead>
,<tr>
: Andere tabellenbezogene Elementebackground-color
: CSS-Eigenschaft zum Setzen der Hintergrundfarbe jeder Kopfzelleborder
: CSS-Eigenschaft zur Kontrolle der Rahmen von Kopfzellenheight
: CSS-Eigenschaft zur Kontrolle der empfohlenen Höhe der Kopfzelletext-align
: CSS-Eigenschaft zur horizontalen Ausrichtung des Inhalts jeder Kopfzellevertical-align
: CSS-Eigenschaft zur vertikalen Ausrichtung des Inhalts jeder Kopfzellewidth
: CSS-Eigenschaft zur Kontrolle der empfohlenen Breite der Kopfzelle:nth-of-type
,:first-of-type
,:last-of-type
: CSS-Pseudoklassen zum Auswählen der gewünschten Kopfzellen