<th>: Das Table Header 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 Überschrift 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 Überschriftzelle, die als alternatives Label verwendet wird, um auf die Überschriftzelle in anderen Kontexten zu verweisen. Einige Benutzeragenten, wie Bildschirmleser, können diese Beschreibung vor dem Inhalt selbst präsentieren.

colspan

Ein nicht-negativer Ganzzahlwert, der angibt, wie viele Spalten die Überschriftzelle umfasst oder erweitert. Der Standardwert ist 1. Benutzeragenten verwerfen Werte, die höher als 1000 sind, als falsch und setzen solche Werte auf 1.

headers

Eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die den id Attributen der <th> Elemente entsprechen, die die Überschriften für diese Überschriftzelle bereitstellen.

rowspan

Ein nicht-negativer Ganzzahlwert, der angibt, wie viele Zeilen die Überschriftzelle umfasst oder erstreckt. Der Standardwert ist 1; ist der Wert auf 0 gesetzt, erstreckt sich die Überschriftzelle bis zum Ende des Tabellenabschnitts (<thead>, <tbody>, <tfoot>, auch wenn implizit definiert), zu dem das <th> gehört. Werte höher als 65534 werden bei 65534 abgeschnitten.

scope

Definiert die Zellen, auf die sich die Überschrift (im <th> definiert) bezieht. Mögliche augezählte Werte sind:

  • row: Die Überschrift bezieht sich auf alle Zellen der Zeile, zu der sie gehört;
  • col: Die Überschrift bezieht sich auf alle Zellen der Spalte, zu der sie gehört;
  • rowgroup: Die Überschrift gehört zu einer Zeilengruppe und bezieht sich auf alle ihre Zellen;
  • colgroup: Die Überschrift gehört zu einer Spaltengruppe und bezieht sich auf alle ihre Zellen.

Ist das scope Attribut nicht spezifiziert oder sein Wert nicht row, col, rowgroup oder colgroup, wählen Browser automatisch die Menge von Zellen aus, auf die sich die Überschriftzelle bezieht.

Veraltete Attribute

Die folgenden Attribute sind veraltet und sollten nicht mehr verwendet werden. Sie sind unten dokumentiert, um bestehende Codes zu aktualisieren und aus historischem Interesse.

align Veraltet

Gibt die horizontale Ausrichtung der Überschriftzelle an. Die möglichen augezählten Werte sind left, center, right, justify und char. Wenn unterstützt, richtet der char Wert den Textinhalt am Zeichnen aus, das im char Attribut definiert ist und versetzt durch das charoff Attribut. Verwenden Sie die text-align CSS Eigenschaft stattdessen, da dieses Attribut veraltet ist.

axis Veraltet

Enthält eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die jeweils einem id Attribut einer Gruppe von Zellen entsprechen, auf die sich die Überschriftzelle bezieht. Verwenden Sie das scope Attribut stattdessen, da dieses Attribut veraltet ist.

bgcolor Veraltet

Definiert die Hintergrundfarbe der Überschriftzelle. Der Wert ist eine HTML-Farbe; entweder ein 6-stelliger hexadezimaler RGB Code, mit einem # versehen, oder ein Farbbegriff. Andere CSS <color> Werte werden nicht unterstützt. Verwenden Sie die background-color CSS Eigenschaft stattdessen, da dieses Attribut veraltet ist.

char Veraltet

Hat keine Wirkung. Es war ursprünglich dazu gedacht, die Ausrichtung des Inhalts an einem Zeichen der Überschriftzelle anzugeben. Typische Werte dafür sind ein Punkt (.) beim Versuch, Zahlen oder Geldwerte auszurichten. Wenn align nicht auf char gesetzt ist, wird dieses Attribut ignoriert.

charoff Veraltet

Hat keine Wirkung. Es war ursprünglich dazu gedacht, die Anzahl der Zeichen anzugeben, um den Inhalt der Überschriftzelle vom durch das char Attribut angegebenen Ausrichtungszeichen zu versetzen.

height Veraltet

Definiert eine empfohlene Höhe der Überschriftzelle. Verwenden Sie die height CSS Eigenschaft stattdessen, da dieses Attribut veraltet ist.

valign Veraltet

Gibt die vertikale Ausrichtung der Überschriftzelle an. Die möglichen augezählten Werte sind baseline, bottom, middle, und top. Verwenden Sie die vertical-align CSS Eigenschaft stattdessen, da dieses Attribut veraltet ist.

width Veraltet

Definiert eine empfohlene Breite der Überschriftzelle. Verwenden Sie die width CSS Eigenschaft stattdessen, da dieses Attribut veraltet ist.

Nutzungshinweise

  • Das <th> darf nur innerhalb eines <tr> Elements verwendet werden.

  • In einfachen Kontexten ist die Verwendung des scope Attributs für Überschriftzellen (<th> Elemente) redundant, weil scope abgeleitet wird. Bestimmte unterstützende Technologien könnten jedoch nicht korrekt ableiten, sodass das Angeben des Überschriftsbereichs die Benutzererfahrung verbessern kann.

  • Bei der Verwendung der Attribute colspan und rowspan zur Erweiterung von Überschriftzellen über mehrere Spalten und Zeilen hinweg fügen sich Zellen ohne diese Attribute (mit dem Standardwert 1) automatisch in freie verfügbare Bereiche der Tabellenstruktur ein, die 1x1 Zellen umfassen, wie in der folgenden Abbildung veranschaulicht:

    Darstellung der Spalten- und Zeilenüberspannung von Tabellenzellen: Zellen 1, 3 und 4 erstrecken sich über zwei Zeilen; Zelle 2 erstreckt sich über zwei Spalten; Zellen 5 und 6 passen in die verfügbaren Zellen, die die zweite und dritte Spalte in der zweiten Zeile sind

    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 bewährte Verfahren einführt.

Grundlegende Spalten- und Zeilenüberschriften

Dieses Beispiel verwendet <th> Elemente, um Spalten- und Zeilenüberschriften in einer einfachen 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 anzugeben, dass sich jede Spaltenüberschrift auf alle Zellen 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 ist. Dies erstellt eine Kolumne mit Zeilenüberschriften als erste Kolumne der Tabelle. Ähnlich wie bei den Spaltenüberschriften wird das scope Attribut auf row gesetzt, um anzugeben, auf welche Zellen sich jede Zeilenüberschrift bezieht, in dem Beispiel unten sind dies alle Datenelemente (<td> Elemente) in jeder row.

Hinweis: Normalerweise werden die Gruppierungselemente <thead> und <tbody> verwendet, um Reihen mit Überschriften in die jeweiligen Kopf- und Körperabschnitte der Tabelle zu gruppieren. Diese Elemente werden in diesem Beispiel weggelassen, um die Komplexität zu reduzieren und den Fokus auf die Verwendung von Überschriftzellen zu richten.

html
<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 wird verwendet, um die Tabelle und ihre Zellen zu gestalten. Wir verwenden CSS Attributselektoren, um Überschriftzellen basierend auf ihren scope Attributwerten zu zielen, Spalten- und Zeilenüberschriften (<th> Elemente) hervorzuheben und sie voneinander und von den Datenzellen (<td>) zu unterscheiden.

css
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;
}

Resultat

Spalten- und Zeilenüberspannung

Dieses Beispiel erweitert und verbessert die grundlegende Tabelle aus dem vorangegangenen 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 aufgeteilt, eine für die IPA (International Phonetic Alphabet) Notation und eine für die Aussprache (die ursprüngliche Aussprache Spalte). Die entsprechenden Datenelemente (<td> Elemente) werden zu jeder nachfolgenden Zeile hinzugefügt.

Wie in den Nutzungshinweisen gezeigt, können die colspan und rowspan Attribute für die <th> Elemente verwendet werden, um die Überschriftzellen den richtigen Spalten und Zeilen zuzuordnen. Um eine "zweizeilige" Kopfzeile in der Tabellenstruktur zu schaffen, werden die ersten beiden Überschriftzellen innerhalb des ersten <tr> Elements über zwei Zeilen hinweg ausgedehnt. Die dritte Überschriftzelle wird über zwei Spalten (weiterhin in der ersten Zeile) ausgedehnt. Diese Anordnung lässt zwei verfügbare Flächen in den dritten und vierten Spalten in der zweiten Zeile frei, wo die beiden Überschriften innerhalb des zweiten <tr> Elements automatisch platziert werden, wobei der Standardwert 1 für die colspan und rowspan Attribute ist.

Hinweis: Normalerweise werden <thead> und <tbody> Elemente verwendet, um Reihen mit Überschriften in die jeweiligen Kopf- und Körperabschnitte der Tabelle 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.

html
<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.

Resultat

Überschriftzellen mit anderen Überschriftzellen assoziieren

Für komplexere Beziehungen zwischen Überschriftzellen reicht die Verwendung von th Elementen mit dem scope Attribut allein für unterstützende Technologien, insbesondere Bildschirmleser, möglicherweise nicht aus.

HTML

Um die Zugänglichkeit des vorherigen Beispiels zu verbessern und Bildschirmlesern beispielsweise zu erlauben, die mit jeder Überschriftzelle verbundenen Überschriften auszusprechen, kann das headers Attribut zusammen mit id Attributen eingeführt werden. Aufgrund der Art und Weise, wie die "Aussprache" Spalte in zwei Spalten im Beispiel aufgeteilt ist und eine "zweizeilige" Kopfzeile geschaffen wird, können unterstützende Technologien wie Bildschirmleser möglicherweise nicht erkennen, mit welchen zusätzlichen Überschriftzellen (th Elemente) die "Aussprache" Überschriftzelle verbunden ist und umgekehrt. Daher wird das headers Attribut auf den "Aussprache", "IPA" und "Aussprache" Überschriftzellen verwendet, um die verwandten Überschriftzellen basierend auf den Werten der einzigartigen Identifikatoren von den hinzugefügten id Attributen in der Form einer durch Leerzeichen getrennten Liste zu assoziieren.

Hinweis: Es wird empfohlen, aussagekräftigere und nützlichere Werte für das id Attribut zu verwenden. Jedes id in einem Dokument muss in diesem Dokument einzigartig sein. In diesem Beispiel sind die id Werte einzelne Zeichen, um den Fokus auf das Konzept des headers Attributs zu richten.

html
<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>

Resultat

Das visuelle Ergebnis bleibt unverändert gegenüber der vorherigen Beispieltabelle.

Technische Zusammenfassung

Inhaltskategorien Keine.
Erlaubter Inhalt Fließender Inhalt, aber ohne header, footer, Abschnittsinhalt oder Überschriftsinhalt Nachkommen.
Tag-Auslassung Der Start-Tag ist obligatorisch.
Der End-Tag kann weggelassen werden, wenn er unmittelbar von einem <th> oder <td> Element gefolgt wird oder wenn keine weiteren Daten in seinem Elternelement vorhanden sind.
Erlaubte Eltern Ein <tr> Element.
Implizierte 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