<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 enthält die globalen Attribute.
abbr
-
Eine kurze, abgekürzte Beschreibung des Inhalts der Kopfzelle, die als alternatives Label verwendet wird, wenn auf die Kopfzelle in anderen Kontexten verwiesen wird. Einige Benutzeragenten, wie Sprachausgaben, können diese Beschreibung vor dem eigentlichen Inhalt anzeigen.
colspan
-
Ein nicht-negativer Ganzzahlenwert, der angibt, über wie viele Spalten sich die Kopfzelle erstreckt oder ausdehnt. Der Standardwert ist
1
. Benutzeragenten verwerfen Werte über 1000 als falsch und setzen solche Werte standardmäßig auf1
. headers
-
Eine Liste von leerzeichengetrennten Zeichenfolgen, die den
id
-Attributen der<th>
-Elemente entsprechen, welche die Kopfzeilen für diese Kopfzelle bereitstellen. rowspan
-
Ein nicht-negativer Ganzzahlenwert, der angibt, über wie viele Zeilen sich die Kopfzelle erstreckt oder ausdehnt. Der Standardwert ist
1
; wenn sein Wert auf0
gesetzt ist, erstreckt sich die Kopfzelle bis zum Ende des Tabellengruppierungsabschnitts (<thead>
,<tbody>
,<tfoot>
, selbst wenn implizit definiert), zu dem das<th>
gehört. Werte über65534
werden bei65534
abgeschnitten. scope
-
Definiert die Zellen, auf die sich die Kopfzeile (definiert im
<th>
-Element) bezieht. Mögliche enumerierte 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 sich die Kopfzelle bezieht.
Veraltete Attribute
Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind hier nur zur Referenz bei der Aktualisierung vorhandenen Codes und aus historischem Interesse dokumentiert.
align
Veraltet-
Gibt die horizontale Ausrichtung der Kopfzelle an. Die möglichen enumerierten Werte sind
left
,center
,right
,justify
undchar
. Wenn unterstützt, richtet derchar
-Wert den Textinhalt auf das imchar
-Attribut definierte Zeichen und das imcharoff
-Attribut definierte Leerzeichen aus. Verwenden Sie dietext-align
CSS-Eigenschaft anstatt, da dieses Attribut veraltet ist. axis
Veraltet-
Enthält eine Liste von leerzeichengetrennten Zeichenfolgen, die jeweils dem
id
-Attribut einer Gruppe von Zellen entsprechen, auf die sich die Kopfzelle bezieht. 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 6-stelliger hexadezimaler RGB-Code, mit einem
#
vorangestellt, oder ein Farbname. Andere CSS<color>
Werte werden nicht unterstützt. Verwenden Sie diebackground-color
CSS-Eigenschaft stattdessen, da dieses Attribut veraltet ist. char
Veraltet-
Tut nichts. Es war ursprünglich vorgesehen, die Ausrichtung des Inhalts auf ein Zeichen der Kopfzelle zu spezifizieren. Typische Werte hierfür sind ein Punkt (
.
), wenn versucht wird, Zahlen oder Geldwerte auszurichten. Wennalign
nicht aufchar
gesetzt ist, wird dieses Attribut ignoriert. charoff
Veraltet-
Tut nichts. Es war ursprünglich vorgesehen, die Anzahl der Zeichen zu spezifizieren, um den Inhalt der Kopfzelle von dem im
char
-Attribut spezifizierten Ausrichtungszeichen zu versetzen. height
Veraltet-
Definiert eine empfohlene Höhe der Kopfzelle. Verwenden Sie die
height
CSS-Eigenschaft stattdessen, da dieses Attribut veraltet ist. valign
Veraltet-
Gibt die vertikale Ausrichtung der Kopfzelle an. Die möglichen enumerierten Werte sind
baseline
,bottom
,middle
undtop
. Verwenden Sie dievertical-align
CSS-Eigenschaft stattdessen, da dieses Attribut veraltet ist. width
Veraltet-
Definiert eine empfohlene Breite der Kopfzelle. Verwenden Sie die
width
CSS-Eigenschaft stattdessen, da dieses Attribut veraltet ist.
Anwendungshinweise
-
Das
<th>
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. Allerdings kann es sein, dass bestimmte unterstützende Technologien die Ableitung nicht korrekt durchführen, daher kann die Angabe des Kopfbereichs die Benutzererfahrung verbessern. -
Bei der Verwendung der Attribute
colspan
undrowspan
, um Kopfzellen über mehrere Spalten und Zeilen hinweg zu spannen, werden Zellen ohne definierte Attribute (mit einem Standardwert von1
) automatisch in frei verfügbare Bereiche 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 komplettes Tabellenbeispiel, das allgemeine Standards und bewährte Praktiken einführt.
Grundlegende Spalten- und Zeilenköpfe
Dieses Beispiel verwendet <th>
-Elemente zur Einführung von Spalten- und Zeilenköpfen in einer grundlegenden Tabellenstruktur.
HTML
Die erste Zeile (<tr>
-Element) enthält die Spaltenköpfe (<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 jeder Spaltenkopf 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 einen Zeilenkopf (<th>
-Element), der als erste Zelle eingeführt wird. Dies schafft eine Spalte mit Zeilenköpfen als erste Spalte der Tabelle. Ähnlich wie bei den Spaltenköpfen wird das scope
-Attribut auf row
gesetzt, um anzugeben, auf welche Zellen sich jeder Zeilenkopf bezieht, die in dem unten stehenden Beispiel alle Datenzellen (<td>
-Elemente) in jeder Zeile sind.
Hinweis:
Normalerweise werden die Gruppierungselemente <thead>
und <tbody>
verwendet, um Zeilen mit Köpfen in die entsprechenden Tabellenkopf- und -körperbereiche zu gruppieren. Diese Elemente sind in diesem Beispiel weggelassen, um die Komplexität zu reduzieren und sich auf die Verwendung von Kopfzellen zu konzentrieren.
<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
Einige grundlegende CSS-Styles werden verwendet, um die Tabelle und ihre Zellen zu gestalten. Wir verwenden CSS Attributselektoren, um Kopfzellen basierend auf ihren scope
-Attributwerten zu targetieren und Spalten- sowie Zeilenköpfe (<th>
-Elemente) hervorzuheben und 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übergreifende Tabellenköpfe
Dieses Beispiel erweitert und verbessert die Grundtabelle aus dem vorhergehenden Beispiel, indem eine zweite Zeile für zusätzliche Spaltenköpfe hinzugefügt wird.
HTML
Eine zusätzliche Tabellenzeile (<tr>
-Element) wird als zweite Kopfzeile der Tabelle hinzugefügt, mit zwei zusätzlichen Spaltenköpfen (<th>
-Elemente). Auf diese Weise wird die "Aussprache"-Spalte in zwei Spalten aufgeteilt, eine für die IPA-Notation (International Phonetic Alphabet) und eine für die Lautschrift (die ursprüngliche Aussprache-Spalte). Die entsprechenden Datenzellen (<td>
-Elemente) werden jeder nachfolgenden Zeile hinzugefügt.
Wie in den Anwendungshinweisen 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 einen "zwei Zeilen"-Kopf in der Tabellenstruktur zu erreichen, werden die ersten beiden Kopfzellen im ersten <tr>
-Element über zwei Zeilen hinweg erstreckt. Die dritte Kopfzelle erstreckt sich über zwei Spalten (verbleibend in der ersten Zeile). Diese Anordnung lässt zwei verfügbare Bereiche in der dritten und vierten Spalte in der zweiten Zeile, in denen die beiden Köpfe innerhalb des zweiten <tr>
-Elements automatisch platziert werden, wobei der Standardwert 1
für die Attribute colspan
und rowspan
gilt.
Hinweis:
Normalerweise werden die <thead>
und <tbody>
Elemente verwendet, um Zeilen mit Köpfen in die entsprechenden Tabellenkopf- und -körperbereiche zu gruppieren. Dies ist in diesem Beispiel nicht implementiert, um sich auf die Köpfe und das Spannen 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
Verknüpfen von Kopfzellen mit anderen Kopfzellen
Für komplexere Beziehungen zwischen Kopfzellen kann die Verwendung von th
-Elementen mit dem scope
-Attribut allein für unterstützende Technologien, insbesondere für Sprachausgaben, nicht ausreichend sein.
HTML
Um die Zugänglichkeit des vorherigen Beispiels zu verbessern und z.B. Sprachausgaben die Möglichkeit zu geben, die den Kopfzellen zugeordneten Kopfzeilen auszusprechen, kann das headers
-Attribut zusammen mit id
-Attributen eingeführt werden. Aufgrund der Art und Weise, wie die "Aussprache"-Spalte in zwei Spalten aufgeteilt ist, wird in dem Beispiel ein "zwei Zeilen"-Kopf eingeführt. Unterstützende Technologien wie Sprachausgaben können möglicherweise nicht identifizieren, mit welchen zusätzlichen Kopfzellen (th
Elemente) die "Aussprache" Kopfzelle und umgekehrt verknüpft sind. Daher wird das headers
-Attribut auf den Kopfzellen "Aussprache", "IPA" und "Lautschrift" verwendet, um die zugehörigen Kopfzellen basierend auf den Werten der eindeutigen Bezeichner aus den hinzugefügten id
-Attributen in Form einer leerzeichengetrennten Liste zuzuordnen.
Hinweis:
Es wird empfohlen, für das id
-Attribut aussagekräftigere und nützlichere Werte zu verwenden. Jedes id
in einem Dokument muss für dieses Dokument eindeutig sein. In diesem Beispiel sind die id
-Werte einzelne Zeichen, um sich auf das Konzept des headers
Attributs zu konzentrieren.
<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 dem vorherigen Beispiel.
Technische Zusammenfassung
Inhaltskategorien | Keine. |
---|---|
Zulässiger Inhalt | Flow-Inhalte, aber ohne Kopf-, Fuß-, Gliederungs- oder Titelinhaltsnachkommen. |
Tag-Auslassung |
Das Start-Tag ist obligatorisch. Das End-Tag kann ausgelassen werden, wenn es unmittelbar von einem <th> oder
<td> -Element gefolgt wird oder wenn keine weiteren
Daten in seinem übergeordneten Element vorhanden sind.
|
Zulässige Eltern | Ein <tr> -Element. |
Implizite ARIA-Rolle |
columnheader oder rowheader
|
Zulässige ARIA-Rollen | Beliebig |
DOM-Schnittstelle | [`HTMLTableCellElement`](/de/docs/Web/API/HTMLTableCellElement) |
Spezifikationen
Specification |
---|
HTML # the-th-element |
Browser-Kompatibilität
Siehe auch
- Lernen: Grundlagen der HTML-Tabellen
<caption>
,<col>
,<colgroup>
,<table>
,<tbody>
,<td>
,<tfoot>
,<thead>
,<tr>
: Weitere tabellenbezogene Elementebackground-color
: CSS-Eigenschaft, um die Hintergrundfarbe jeder Kopfzelle festzulegenborder
: CSS-Eigenschaft zur Steuerung der Ränder von Kopfzellenheight
: CSS-Eigenschaft zur Steuerung der empfohlenen Höhe der Kopfzelletext-align
: CSS-Eigenschaft, um den Inhalt jeder Kopfzelle horizontal auszurichtenvertical-align
: CSS-Eigenschaft, um den Inhalt jeder Kopfzelle vertikal auszurichtenwidth
: CSS-Eigenschaft zur Steuerung der empfohlenen Breite der Kopfzelle:nth-of-type
,:first-of-type
,:last-of-type
: CSS-Pseudoklassen, um die gewünschten Kopfzellen auszuwählen