Tabellen in HTML

Was sind HTML-Tabellen?

HTML-Tabellen werden verwendet, um Daten übersichtlich in Zeilen und Spalten darzustellen. Sie eignen sich zum Beispiel für Preislisten, Stundenpläne und statistische Informationen.

Die wichtigsten HTML-Elemente sind: <table>, <tr>, <th> und <td>.


1. Einfache Tabellen

Mit <table> wird eine Tabelle erstellt. <tr> definiert eine Tabellenzeile. <td> enthält eine normale Tabellenzelle.

HTML-Code

<table>
    <tr>
        <td>Anna</td>
        <td>Berlin</td>
    </tr>
    <tr>
        <td>Max</td>
        <td>Leipzig</td>
    </tr>
</table>

Ergebnis

Anna Berlin
Max Leipzig

Die sichtbaren Rahmen werden hier mit CSS gestaltet.


2. Tabellen mit Überschriften

Mit dem Element <th> werden Tabellenüberschriften definiert. Diese erscheinen standardmäßig fett.

HTML-Code

<table>
    <tr>
        <th>Name</th>
        <th>Alter</th>
        <th>Stadt</th>
    </tr>
    <tr>
        <td>Anna</td>
        <td>25</td>
        <td>Berlin</td>
    </tr>
    <tr>
        <td>Max</td>
        <td>30</td>
        <td>Leipzig</td>
    </tr>
</table>

Ergebnis

Name Alter Stadt
Anna 25 Berlin
Max 30 Leipzig

3. Spalten verbinden mit colspan

Mit dem Attribut colspan können mehrere Spalten zu einer einzigen Tabellenzelle verbunden werden.

HTML-Code

<table>
    <tr>
        <th colspan="3">
            Stundenplan
        </th>
    </tr>
    <tr>
        <th>Montag</th>
        <th>Dienstag</th>
        <th>Mittwoch</th>
    </tr>
    <tr>
        <td>HTML</td>
        <td>CSS</td>
        <td>PHP</td>
    </tr>
</table>

Ergebnis

Stundenplan
Montag Dienstag Mittwoch
HTML CSS PHP

Erklärung: colspan="3" bedeutet, dass die Zelle die Breite von drei Spalten einnimmt.


4. Zeilen verbinden mit rowspan

Mit dem Attribut rowspan können mehrere Zeilen miteinander verbunden werden.

HTML-Code

<table>
    <tr>
        <th>Bereich</th>
        <th>Technologie</th>
    </tr>
    <tr>
        <td rowspan="2">Frontend</td>
        <td>HTML</td>
    </tr>
    <tr>
        <td>CSS</td>
    </tr>
    <tr>
        <td>Backend</td>
        <td>PHP</td>
    </tr>
</table>

Ergebnis

Bereich Technologie
Frontend HTML
CSS
Backend PHP

Erklärung: rowspan="2" bedeutet, dass eine Zelle über zwei Zeilen reicht.


5. Komplexe Tabellen

Komplexe Tabellen können mehrere Überschriftenebenen enthalten. Dabei lassen sich colspan und rowspan kombinieren.

HTML-Code

<table>
    <tr>
        <th rowspan="2">Produkt</th>
        <th colspan="2">Preis</th>
    </tr>
    <tr>
        <th>Netto</th>
        <th>Brutto</th>
    </tr>
    <tr>
        <td>Monitor</td>
        <td>100,00 €</td>
        <td>119,00 €</td>
    </tr>
    <tr>
        <td>Tastatur</td>
        <td>50,00 €</td>
        <td>59,50 €</td>
    </tr>
</table>

Ergebnis

Produkt Preis
Netto Brutto
Monitor 100,00 € 119,00 €
Tastatur 50,00 € 59,50 €

6. Tabellen strukturieren

Größere Tabellen können mit <thead>, <tbody> und <tfoot> in Bereiche unterteilt werden.

HTML-Code

<table>
    <thead>
        <tr>
            <th>Produkt</th>
            <th>Preis</th>
        </tr>
    </thead>

    <tbody>
        <tr>
            <td>Maus</td>
            <td>20 €</td>
        </tr>
        <tr>
            <td>Tastatur</td>
            <td>50 €</td>
        </tr>
    </tbody>

    <tfoot>
        <tr>
            <th>Gesamt</th>
            <td>70 €</td>
        </tr>
    </tfoot>
</table>

Ergebnis

Produkt Preis
Maus 20 €
Tastatur 50 €
Gesamt 70 €

7. Tabellen mit CSS gestalten

Mit CSS können Tabellen übersichtlicher gestaltet werden. Beispielsweise können abwechselnde Zeilenfarben und Hover-Effekte verwendet werden.

CSS-Code

table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    border: 1px solid #777;
    padding: 10px;
}

tbody tr:nth-child(even) {
    background-color: #f0f5fa;
}

tbody tr:hover {
    background-color: #dceeff;
}

Ergebnis

Name Fach Note
Anna HTML 1
Max CSS 2
Lisa PHP 1
Tom SQL 2

Bewegen Sie die Maus über eine Tabellenzeile. Die Hintergrundfarbe verändert sich automatisch.


8. Übersicht der HTML-Tabellenelemente

Element / Attribut Bedeutung
<table> Erstellt eine Tabelle
<tr> Tabellenzeile
<td> Normale Tabellenzelle
<th> Überschriftenzelle
colspan Verbindet mehrere Spalten
rowspan Verbindet mehrere Zeilen
<thead> Tabellenkopf
<tbody> Tabellenkörper
<tfoot> Tabellenfuß

9. Praktische Übungen

Aufgabe 1

Mit welchem HTML-Element wird eine Tabelle erstellt?

Lösung anzeigen
<table></table>

Aufgabe 2

Erstellen Sie eine Tabelle mit einer Zeile und zwei Zellen.

Lösung anzeigen
<table>
    <tr>
        <td>Anna</td>
        <td>Berlin</td>
    </tr>
</table>

Aufgabe 3

Welches HTML-Element erstellt eine Tabellenzeile?

Lösung anzeigen
<tr>

Aufgabe 4

Welches HTML-Element wird für Tabellenüberschriften verwendet?

Lösung anzeigen
<th>

Aufgabe 5

Erstellen Sie eine Tabelle mit den Überschriften Name und Stadt.

Lösung anzeigen
<table>
    <tr>
        <th>Name</th>
        <th>Stadt</th>
    </tr>
</table>

Aufgabe 6

Welches Attribut verbindet mehrere Spalten?

Lösung anzeigen
colspan

Aufgabe 7

Erstellen Sie eine Zelle, die drei Spalten umfasst.

Lösung anzeigen
<th colspan="3">
    Stundenplan
</th>

Aufgabe 8

Welches Attribut verbindet mehrere Zeilen?

Lösung anzeigen
rowspan

Aufgabe 9

Erstellen Sie eine Zelle, die sich über zwei Zeilen erstreckt.

Lösung anzeigen
<td rowspan="2">
    Frontend
</td>

Aufgabe 10

Welche HTML-Elemente strukturieren größere Tabellen in Kopf, Inhalt und Fußbereich?

Lösung anzeigen
<thead>
<tbody>
<tfoot>

Aufgabe 11

Mit welcher CSS-Eigenschaft werden Tabellenrahmen zusammengeführt?

Lösung anzeigen
border-collapse: collapse;

Aufgabe 12

Welche CSS-Anweisung färbt jede zweite Tabellenzeile?

Lösung anzeigen
tbody tr:nth-child(even) {
    background-color: #f0f5fa;
}

Aufgabe 13

Erstellen Sie einen Hover-Effekt, der die Hintergrundfarbe einer Tabellenzeile verändert.

Lösung anzeigen
tbody tr:hover {
    background-color: #dceeff;
}

Zusammenfassung

HTML-Tabellen ermöglichen eine strukturierte Darstellung von Daten. Mit colspan und rowspan können Zellen miteinander verbunden werden. Die Elemente thead, tbody und tfoot sorgen für eine übersichtliche Struktur. Mit CSS lassen sich Tabellen zusätzlich gestalten.