Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

<th> HTML-Tabellenkopfelement

Baseline Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

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>
  <thead>
    <tr>
      <th scope="col">Player</th>
      <th scope="col">Gloobles</th>
      <th scope="col">Za'taak</th>
    </tr>
  </thead>
  <tbody>
    <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>
  </tbody>
</table>
th,
td {
  border: 1px solid rgb(160 160 160);
  padding: 8px 10px;
}

th[scope="col"] {
  background-color: #505050;
  color: white;
}

th[scope="row"] {
  background-color: #d6ecd4;
}

td {
  text-align: center;
}

tr:nth-of-type(even) {
  background-color: #eeeeee;
}

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 zur Verwendung der Kopfzelle in anderen Kontexten bereitgestellt wird. Einige Benutzeragenten, wie Bildschirmleseprogramme, können diese Beschreibung vor dem eigentlichen Inhalt präsentieren.

colspan

Ein nicht-negativer Ganzzahlenwert, der angibt, wie viele Spalten die Kopfzelle überspannt oder erweitert. Der Standardwert ist 1. Werte größer als 1000 werden auf 1000 begrenzt.

headers

Eine Liste von durch Leerzeichen getrennten Zeichenfolgen, die den id-Attributen der <th>-Elemente entsprechen, die die Köpfe der Kopfzelle bereitstellen.

rowspan

Ein nicht-negativer Ganzzahlenwert, der angibt, wie viele Zeilen die Kopfzelle überspannt oder erweitert. Der Standardwert ist 1; wenn sein Wert auf 0 gesetzt ist, wird die Kopfzelle bis zum Ende des Tabellen-Gruppierungsabschnitts (<thead>, <tbody>, <tfoot>, auch wenn implizit definiert) erweitert, zu dem das <th> gehört. Werte größer als 65534 werden bei 65534 abgeschnitten.

scope

Definiert die Zellen, auf die sich das Kopf-Element (definiert in <th>) bezieht. Mögliche aufgezählte Werte sind:

  • row: der Kopf bezieht sich auf alle Zellen der Reihe, zu der er gehört;
  • col: der Kopf bezieht sich auf alle Zellen der Spalte, zu der er gehört;
  • rowgroup: der Kopf gehört zu einer Zeilengruppe und bezieht sich auf alle deren Zellen;
  • colgroup: der Kopf gehört zu einer Spaltengruppe und bezieht sich auf alle deren Zellen.

Wenn das scope-Attribut nicht angegeben ist oder wenn sein Wert nicht row, col, rowgroup oder colgroup ist, wählen Browser automatisch die Menge der Zellen aus, auf die sich die Kopfzelle bezieht.

Veraltete Attribute

Die folgenden Attribute sind veraltet und sollten nicht verwendet werden. Sie sind hier dokumentiert, um beim Aktualisieren bestehenden Codes und aus historischem Interesse zu dienen.

align

Gibt die horizontale Ausrichtung der Kopfzelle an. Die möglichen aufgezählten Werte sind left, center, right, justify und char. Wenn unterstützt, richtet der char-Wert den Textinhalt auf dem durch das char-Attribut definierten Zeichen und dem durch das charoff-Attribut definierten Offset aus. Verwenden Sie stattdessen die CSS-Eigenschaft text-align, da dieses Attribut veraltet ist.

axis

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

bgcolor

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

char

Führt keine Funktion aus. Ursprünglich war es vorgesehen, die Ausrichtung des Inhalts auf ein Zeichen der Kopfzelle zu spezifizieren. Typische Werte hierfür sind ein Punkt (.), wenn versucht wird, Zahlen oder Geldbeträge auszurichten. Wenn align nicht auf char gesetzt ist, wird dieses Attribut ignoriert.

charoff

Führt keine Funktion aus. Ursprünglich war es vorgesehen, die Anzahl der Zeichen anzugeben, um welche der Kopfzellen-Inhalt von dem durch das char-Attribut angegebenen Ausrichtungszeichen versetzt werden soll.

height

Definiert eine empfohlene Kopfzellenhöhe. Verwenden Sie stattdessen die CSS-Eigenschaft height, da dieses Attribut veraltet ist.

valign

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

width

Definiert eine empfohlene Kopfzellenbreite. Verwenden Sie stattdessen die CSS-Eigenschaft width, da dieses Attribut veraltet ist.

Verwendungshinweise

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

  • In einfachen Kontexten ist die Verwendung des Attributs scope in Kopfzellen (<th>-Elemente) überflüssig, da scope abgeleitet wird. Jedoch können bestimmte unterstützende Technologien möglicherweise nicht korrekt ableiten, sodass das Angeben des Headers-Bereichs die Benutzererfahrung verbessern kann.

  • Wenn die Attribute colspan und rowspan verwendet werden, um Kopfzellen über mehrere Spalten und Zeilen zu erstrecken, passen Zellen ohne diese definierten Attribute (mit einem Standardwert von 1) automatisch in freie verfügbare Räume in der Tabellenstruktur, die 1x1-Zellen überspannen, wie im folgenden Bild dargestellt:

    Abbildung, die das Überspannen von Spalten und Zeilen von Tabellenzellen zeigt: 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 Praktiken einführt.

Grundlegende Spalten- und Zeilenköpfe

Dieses Beispiel verwendet <th>-Elemente, um Spalten- und Zeilenköpfe in einer einfachen Tabellenstruktur einzuführen.

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 darauf hinzuweisen, dass sich jeder Spaltenkopf auf alle Zellen der entsprechenden Spalte bezieht, ist das Attribut scope auf col (Spalte) gesetzt.

Die restlichen Zeilen enthalten die Hauptdaten der Tabelle. Jede dieser Zeilen hat einen Zeilenkopf (<th>-Element), das als erste Zelle eingeführt wird. Dies erstellt eine Spalte mit Zeilenköpfen als erste Spalte der Tabelle. Ähnlich wie bei den Spaltenköpfen ist das Attribut scope auf row gesetzt, um anzugeben, auf welche Zellen sich jeder Zeilenkopf bezieht, die im folgenden Beispiel alle Datensätze (<td>-Elemente) in jeder Zeile sind.

Hinweis: Normalerweise werden die Gruppierungselemente <thead> und <tbody> verwendet, um Zeilen mit Köpfen in die jeweiligen 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.

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 einfache CSS-Stile werden verwendet, um die Tabelle und ihre Zellen zu stylen. Wir verwenden CSS-Attributselektoren, um die Kopfzellen basierend auf ihren scope-Attributwerten anzusprechen, die Spalten- und Zeilenköpfe (<th>-Elemente) hervorzuheben und sie voneinander und von den Datensätzen (<td>) zu unterscheiden.

css
th,
td {
  border: 1px solid rgb(160 160 160);
  padding: 8px 10px;
}

th[scope="col"] {
  background-color: #505050;
  color: white;
}

th[scope="row"] {
  background-color: #d6ecd4;
}

tr:nth-of-type(odd) td {
  background-color: #eeeeee;
}

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 Spaltenköpfe.

HTML

Eine zusätzliche Tabellenzeile (<tr>-Element) wird als zweite Kopfzeile der Tabelle mit zwei zusätzlichen Spaltenköpfen (<th>-Elemente) hinzugefügt. Auf diese Weise wird die "Aussprache"-Spalte in zwei Spalten unterteilt, eine für die IPA-Notation (International Phonetic Alphabet) und eine für die Neuschreibung (die ursprüngliche Aussprache-Spalte). Die entsprechenden Datensätze (<td>-Elemente) werden 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 eine "zwei-zeilige" Kopfzeile in der Tabellenstruktur zu erreichen, werden die ersten beiden Kopfzellen innerhalb des ersten <tr>-Elements über zwei Zeilen erstreckt. Die dritte Kopfzelle erstreckt sich über zwei Spalten (erstklassig in der ersten Zeile). Diese Anordnung lässt zwei verfügbare Bereiche in den dritten und vierten Spalten in der zweiten Zeile, in denen die beiden Köpfe innerhalb des zweiten <tr>-Elements automatisch platziert werden, mit dem Standardwert 1 für die Attribute colspan und rowspan.

Hinweis: Normalerweise werden <thead> und <tbody>-Elemente verwendet, um Zeilen mit Köpfen in die jeweiligen Tabellenkopf- und -körperabschnitte zu gruppieren. Dies ist in diesem Beispiel nicht implementiert, um sich auf die Köpfe und Überlagerung 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 ist unverändert gegenüber dem vorherigen Beispiel.

Ergebnis

Kopfzellen mit anderen Kopfzellen verknüpfen

Für komplexere Beziehungen zwischen Kopfzellen reicht es möglicherweise nicht aus, th-Elemente allein mit dem Attribut scope für unterstützende Technologien, insbesondere Bildschirmleseprogramme, zu verwenden.

HTML

Um die Zugänglichkeit des vorherigen Beispiels zu verbessern und Bildschirmleseprogrammen zu ermöglichen, beispielsweise die mit jeder Kopfzelle verbundenen Köpfe zu sprechen, kann das Attribut headers zusammen mit id-Attributen eingeführt werden. Aufgrund der Art und Weise, wie in dem Beispiel die "Aussprache"-Spalte in zwei Spalten unterteilt wird, wobei eine "zwei-zeilige" Kopfzeile eingeführt wird, können unterstützende Technologien wie Bildschirmleseprogramme möglicherweise nicht erkennen, mit welchen zusätzlichen Kopfzellen (th-Elemente) die Kopfzelle "Aussprache" verbunden ist und umgekehrt. Daher wird das Attribut headers auf den Kopfzellen "Aussprache", "IPA" und "Neuschreibung" verwendet, um die zugehörigen Kopfzellen basierend auf den Werten der einzigartigen Kennungen aus den hinzugefügten id-Attributen in Form einer durch Leerzeichen getrennten Liste zu verknüpfen.

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

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>

Ergebnis

Das visuelle Ergebnis ist unverändert im Vergleich zur vorherigen Beispieltabelle.

Technische Zusammenfassung

Inhaltskategorien Keine.
Erlaubter Inhalt Flow-Inhalt, jedoch ohne Kopf-, Fuß-, Gliederungselemente oder Kopf-Inhaltsnachfolger.
Tag-Auslassung Das Start-Tag ist obligatorisch.
Das End-Tag kann weggelassen werden, wenn ihm unmittelbar ein <th> oder ein <td>-Element folgt oder wenn es keine weiteren Daten in seinem Elternelement gibt.
Erlaubte Eltern Ein <tr> Element.
Implizierte ARIA-Rolle columnheader oder rowheader
Erlaubte ARIA-Rollen Beliebig
DOM-Schnittstelle [`HTMLTableCellElement`](/de/docs/Web/API/HTMLTableCellElement)

Spezifikationen

Spezifikation
HTML
# the-th-element

Browser-Kompatibilität

Siehe auch