<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 zur Verwendung für die Kopfzelle bereitgestellt wird, wenn auf die Zelle in anderen Kontexten verwiesen wird. Einige Benutzeragenten, wie Screenreader, können diese Beschreibung vor dem eigentlichen Inhalt wiedergeben.
colspan
-
Ein nicht-negativer Ganzzahlwert, der angibt, wie viele Spalten die Kopfzelle überbrückt oder erweitert. Der Standardwert ist
1
. Benutzeragenten verwerfen Werte größer als 1000 als unkorrekt und setzen diese Werte auf1
zurück. headers
-
Eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die den
id
-Attributen der<th>
-Elemente entsprechen, die die Kopfzellen für diese Kopfzelle bereitstellen. rowspan
-
Ein nicht-negativer Ganzzahlwert, der angibt, wie viele Zeilen die Kopfzelle überbrückt oder erweitert. Der Standardwert ist
1
; ist der Wert auf0
gesetzt, erstreckt sich die Kopfzelle bis zum Ende des Tabellensektionsgruppierungsabschnitts (<thead>
,<tbody>
,<tfoot>
, auch wenn implizit definiert), dem das<th>
-Element gehört. Werte größer als65534
werden auf65534
gekürzt. scope
-
Definiert die Zellen, zu denen sich die Kopfzelle (im
<th>
-Element definiert) verhält. Mögliche aufzählbare Werte sind:row
: Die Kopfzelle bezieht sich auf alle Zellen der Zeile, zu der sie gehört;col
: Die Kopfzelle bezieht sich auf alle Zellen der Spalte, zu der sie gehört;rowgroup
: Die Kopfzelle gehört zu einer Zeilengruppe und bezieht sich auf alle ihre Zellen;colgroup
: Die Kopfzelle 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 werden hier der Vollständigkeit halber dokumentiert, um bestehende Codes zu aktualisieren und aus historischem Interesse.
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 imchar
-Attribut definierten Zeichen und dem imcharoff
-Attribut definierten Offset aus. 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 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, dem ein
#
vorangestellt ist, oder ein Farbname. Andere CSS<color>
-Werte werden nicht unterstützt. Verwenden Sie stattdessen diebackground-color
CSS-Eigenschaft, da dieses Attribut veraltet ist. char
Veraltet-
Hat keine Funktion. Es war ursprünglich vorgesehen, die Ausrichtung des Inhalts an einem Zeichen der Kopfzelle zu spezifizieren. Typische Werte hierfür sind ein Punkt (
.
), wenn versucht wird, Zahlen oder Geldbeträge auszurichten. Wennalign
nicht aufchar
gesetzt ist, wird dieses Attribut ignoriert. charoff
Veraltet-
Hat keine Funktion. Es war ursprünglich vorgesehen, die Anzahl der Zeichen anzugeben, um die der Kopfzelleninhalt vom im
char
-Attribut angegebenen Zeichen auszugleichen. height
Veraltet-
Definiert eine empfohlene Höhe der 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 der Kopfzelle. Verwenden Sie stattdessen die
width
CSS-Eigenschaft, da dieses Attribut veraltet ist.
Verwendungshinweise
-
Das
<th>
kann nur innerhalb eines<tr>
-Elements verwendet werden. -
In einfachen Kontexten ist die Verwendung des
scope
-Attributs in Kopfzellen (<th>
-Elemente) redundant, weilscope
impliziert wird. Allerdings kann es bei bestimmten unterstützenden Technologien zu Problemen bei der korrekten Interpretation kommen, sodass die Angabe der Kopfzeilenreichweite die Benutzererfahrung verbessern kann. -
Bei der Verwendung der Attribute
colspan
undrowspan
, um Kopfzellen über mehrere Spalten und Zeilen hinweg zu erweitern, werden Zellen ohne definierte Attribute (mit einem Standardwert von1
) automatisch in frei verfügbaren Bereichen in der Tabellenstruktur platziert, die 1x1-Zellen abdecken, wie in der folgenden Abbildung gezeigt:Hinweis: Diese Attribute dürfen nicht verwendet werden, um Zellen zu überlappen.
Beispiele
Siehe <table>
für ein vollständiges Tabellenbeispiel, das gängige 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), die als erste Zelle eingeführt wird. Dies erstellt eine Spalte mit Zeilenüberschriften als erste Spalte der Tabelle. Ähnlich wie bei den Spaltenüberschriften wird das scope
-Attribut auf row
gesetzt, um festzulegen, auf welche Zellen sich jede Zeilenüberschrift bezieht; im folgenden Beispiel sind dies alle Datenzellen (<td>
-Elemente) in jeder Zeile.
Hinweis:
Normalerweise werden die Gruppierungselemente <thead>
und <tbody>
verwendet, um Zeilen mit Überschriften in die entsprechenden Tabellenkopf- und Tabellenkörperabschnitte zu gruppieren. Diese Elemente sind in diesem Beispiel weggelassen, um die Komplexität zu reduzieren und den Fokus auf die Verwendung von Kopfzellen zu legen.
<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-Regeln werden verwendet, um die Tabelle und ihre Zellen zu stylen. Wir verwenden CSS-Attributselektoren, um Kopfzellen basierend auf ihren scope
-Attributwerten zu adressieren und Spalten- sowie Zeilenüberschriften (<th>
-Elemente) hervorzuheben, sie von den anderen zu unterscheiden und von den Datenzellen (<td>
).
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übergreifung
Dieses Beispiel erweitert und verbessert die grundlegende Tabelle aus dem vorherigen Beispiel, indem eine zweite Zeile für zusätzliche Spaltenüberschriften hinzugefügt wird.
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 aufgeteilt, eine für die IPA (International Phonetic Alphabet) Notation und eine für die lautschriftliche Wiedergabe (die ursprüngliche Aussprache-Spalte). Die entsprechenden Datenzellen (<td>
-Elemente) werden jeder folgenden Zeile hinzugefügt.
Wie in den Verwendungshinweisen gezeigt, können die Attribute colspan
und rowspan
bei den <th>
-Elementen verwendet werden, um die Kopfzellen den korrekten Spalten und Zeilen zuzuordnen. Um eine "Zwei-Zeilen"-Kopfzeile in der Tabellenstruktur zu erreichen, werden die ersten zwei Kopfzellen innerhalb des ersten <tr>
-Elements über zwei Zeilen gespannt. Die dritte Kopfzelle wird über zwei Spalten hinweg erweitert (verbleibend in der ersten Zeile). Dieses Setup lässt zwei verfügbare Bereiche in der dritten und vierten Spalte in der zweiten Zeile, in denen die zwei Überschriften 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 Kopfzeilen in die jeweiligen Tabellenkopf- und Tabellenkörperabschnitte zu gruppieren. Dies ist in diesem Beispiel nicht implementiert, um den Fokus auf die Kopfzeilen und die Übergreifung zu legen 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 ist unverändert vom vorherigen Beispiel.
Ergebnis
Kopfzellen mit anderen Kopfzellen verbinden
Für komplexere Beziehungen zwischen Kopfzeilen reicht die Verwendung von th
-Elementen mit dem scope
-Attribut allein möglicherweise nicht aus, um unterstützenden Technologien, insbesondere Screenreadern, gerecht zu werden.
HTML
Um die Zugänglichkeit des vorherigen Beispiels zu verbessern und Screenreader, z. B., die mit jeder Kopfzelle verbundenen Überschriften aussprechen zu lassen, kann das headers
-Attribut zusammen mit id
-Attributen eingeführt werden. Aufgrund der Art und Weise, wie die "Aussprache"-Spalte im Beispiel in zwei Spalten unterteilt ist, die eine "Zwei-Zeilen"-Kopfzeile bilden, könnte es für unterstützende Technologien wie Screenreader schwierig sein, zu erkennen, mit welchen zusätzlichen Kopfzellen (th
-Elemente) die "Aussprache"-Kopfzelle verwandt ist und umgekehrt. Deshalb wird das headers
-Attribut bei der "Aussprache"-, "IPA"- und "Umschrift"-Kopfzelle verwendet, um die verwandten Kopfzellen anhand der Werte der einzigartigen Bezeichner aus den hinzugefügten id
-Attributen in Form einer durch Leerzeichen getrennten Liste zuzuordnen.
Hinweis:
Es wird empfohlen, beschreibendere und nützlichere Werte für das id
-Attribut zu verwenden. Jedes id
in einem Dokument muss in diesem Dokument eindeutig sein. In diesem Beispiel sind die id
-Werte einstellige Zeichen, um den Fokus auf den Kernpunkt des headers
-Attributs zu legen.
<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 ist unverändert von der vorherigen Beispielstabelle.
Technische Zusammenfassung
Inhaltskategorien | Keine. |
---|---|
Erlaubter Inhalt | Fließender Inhalt, jedoch ohne Nachkommen von header, footer, sectioning content oder heading content. |
Tag-Auslassung |
Das Start-Tag ist verpflichtend. Das End-Tag kann weggelassen werden, wenn es unmittelbar von einem <th> oder <td> -Element gefolgt wird oder wenn keine weiteren Daten in seinem Elternelement mehr vorhanden sind.
|
Erlaubte Eltern | Ein <tr> -Element. |
Implizite ARIA-Rolle |
columnheader oder rowheader
|
Erlaubte ARIA-Rollen | Beliebige |
DOM-Schnittstelle | [`HTMLTableCellElement`](/de/docs/Web/API/HTMLTableCellElement) |
Spezifikationen
Specification |
---|
HTML # the-th-element |
Browser-Kompatibilität
Siehe auch
- Lernen: Grundlegende HTML-Tabellen
<caption>
,<col>
,<colgroup>
,<table>
,<tbody>
,<td>
,<tfoot>
,<thead>
,<tr>
: Andere tabellenbezogene Elementebackground-color
: CSS-Eigenschaft zur Festlegung der Hintergrundfarbe jeder Kopfzelleborder
: CSS-Eigenschaft zur Steuerung der Rahmen der Kopfzellenheight
: CSS-Eigenschaft zur Steuerung der empfohlenen Kopfzellenhöhetext-align
: CSS-Eigenschaft zur horizontalen Ausrichtung des Inhalts jeder Kopfzellevertical-align
: CSS-Eigenschaft zur vertikalen Ausrichtung des Inhalts jeder Kopfzellewidth
: CSS-Eigenschaft zur Steuerung der empfohlenen Kopfzellenbreite:nth-of-type
,:first-of-type
,:last-of-type
: CSS-Pseudoklassen zur Auswahl der gewünschten Kopfzellen