CSS Grundlagen: Tabellen responsive gestalten: CSS-Strategien für ein benutzerfreundliches Design

HTML-Tabellen mit CSS gestalten

Wie man eine HTML-Tabelle erstellt, wird im Beitrag HTML Tabellen erstellen beschrieben. Auf dieser Seite werden die wichtigsten Grundlagen beschrieben, die für eine ansprechende Gestaltung von HTML-Tabellen notwendig sind. Auf dieser Seite wird Schritt für Schritt gezeigt, wie man HTML-Tabellen stylen kann, damit sie attraktiv gestaltet und gleichzeitig leichter lesbar sind.

Ein einfaches Beispiel für eine HTML-Tabelle mit den Standard-Einstellungen

Beispiel HTML
<h2>HTML Tabelle ohne Anpassung durch CSS</h2>

<table>
<tr>
  <th>Spalte 1</th>
  <th>Spalte 2</th>
  <th>Spalte 3</th>
</tr><tr>
  <td>Zelle 1</td>
  <td>Zelle 2</td>
  <td>Zelle 3</td>
</tr><tr>
  <td>Zelle 4</td>
  <td>Zelle 5</td>
  <td>Zelle 6</td>
</tr><tr>
  <td>Zelle 7</td>
  <td>Zelle 8</td>
  <td>Zelle 9</td>
</tr><tr>
  <td>Zelle 10</td>
  <td>Zelle 11</td>
  <td>Zelle 12</td>
</tr>
</table>
Ausgabe des HTML-Codes

HTML-Tabelle ohne Anpassung durch CSS

Spalte 1 Spalte 2 Spalte 3
Zelle 1 Zelle 2 Zelle 3
Zelle 4 Zelle 5 Zelle 6
Zelle 7 Zelle 8 Zelle 9
Zelle 10 Zelle 11 Zelle 12

Dieser Hintergrund       repräsentiert das Ausgabe-Display und gehört nicht zum Beispiel-Code.

Rahmen in HTML Tabellen festlegen

Rahmen sind ein wesentliches Element bei der Gestaltung von Tabellen. Sie dienen dazu, die Lesbarkeit der Daten zu verbessern, indem sie eine visuelle Trennung zwischen Zellen, Zeilen und Spalten erzeugen. Dieser Abschnitt beschreibt, wie Rahmen für Tabellen erstellt und angepasst werden können.

Die Eigenschaft border ist optimal, um einen Rahmen für die gesamte Tabelle und die Tabellenzeilen zu definieren.

Beispiel CSS
table {
  border: 1px solid #000000;
  border-collapse: collapse;
}

tr {
  border-bottom: 1px solid #000000;
}

Mit border-collapse: collapse wird festgelegt, dass die Rahmen benachbarter Tabellenzellen zusammenfallssen.

Abstände in HTML Tabellen anpassen

Die Tabellenzellen werden standardmäßig nur so groß, dass sie den Inhalt der Zellen darstellen können. Dies sieht nicht besonders schön aus und hat zur Folge, dass die Tabelle nur schwer lesbar ist. Um mehr Platz zwischen dem Inhalt der Tabellenzellen und den Rändern der Zellen zu erhalten, kann man die CSS-Eigenschaft Padding verwenden.

Beispiel CSS
td, th {
  padding: 0.5em 1.0em; }

Gestaltung von Kopf und Daten-Zellen

In einer Tabelle werden mit TH (Englisch für Table Header) die Kopfzellen ausgezeichnet. Kopfzellen werden sowohl für Spaltenköpfe (oben) als auch für Zeilenköpfe (links) verwendet. Standardmäßig werden Kopfzellen fett gedruckt und horizontal zentriert.

Beispiel CSS
table {
  border: 1px solid #000000;
  border-collapse: collapse;
}

th {
  padding: 0.5em 1.0em;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  background: #cccccc;
  color: #000000;
  border: 1px solid #000000;
}

td {
  padding: 0.5em;
  font-size: 1.0em;
  font-weight: normal;
  text-align: left;
  color: #000000;
}
Beispiel HTML
<h2>HTML Tabelle mit Spaltenüberschriften</h2>

<table>
<thead>
<tr>
  <th>Spalte 1</th>
  <th>Spalte 2</th>
  <th>Spalte 3</th>
</tr>
</thead>
<tbody>
<tr>
  <td>Zelle 1</td>
  <td>Zelle 2</td>
  <td>Zelle 3</td>
</tr><tr>
  <td>Zelle 4</td>
  <td>Zelle 5</td>
  <td>Zelle 6</td>
</tr><tr>
  <td>Zelle 7</td>
  <td>Zelle 8</td>
  <td>Zelle 9</td>
</tr><tr>
  <td>Zelle 10</td>
  <td>Zelle 11</td>
  <td>Zelle 12</td>
</tr>
</tbody>
</table>
Ausgabe des HTML-Codes

HTML-Tabelle mit Spaltenüberschriften

Spalte 1 Spalte 2 Spalte 3
Zelle 1 Zelle 2 Zelle 3
Zelle 4 Zelle 5 Zelle 6
Zelle 7 Zelle 8 Zelle 9
Zelle 10 Zelle 11 Zelle 12

Dieser Hintergrund       repräsentiert das Ausgabe-Display und gehört nicht zum Beispiel-Code.

Tabellen-Gestaltung mit Zebrastreifen

Eine Tabelle mit Zebrastreifen verwendet abwechselnde Farben für die Zeilen, z. B. abwechselnd einen hellen und dunklen Hintergrund. Dadurch ist die Tabelle leichter zu lesen, da die Tabellenzeilen klar voneinander zu unterscheiden sind. Dies ist besonders nützlich für große Tabellen mit vielen Spalten, da die Benutzer so den Überblick behalten, ohne dass sie die Tabellenzeile verwechseln.

Mit der Pseudoklasse nth-child kann man die Hintergrundfarben für gerade (Englisch: even) und ungerade (Englisch: odd) Tabellenzeilen festlegen.

Beispiel CSS
table {
  border: 1px solid #000000;
  border-collapse: collapse;
}

th {
  padding: 0.5em 1.0em 0.5em 0.4em;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  background: #cccccc;
  color: #000000;
  border: 1px solid #000000;
}

tbody tr:nth-child(even) {
  background: #90ee90;
}

tbody tr:nth-child(odd) {
  background: #f5f5dc;
}

td {
  padding: 0.5em;
  font-size: 1.0em;
  font-weight: normal;
  text-align: left;
  color: #000000;
}
Beispiel HTML
<h2>HTML Tabelle mit Zebrastreifen</h2>

<table>
<thead>
<tr>
  <th>Spalte 1</th>
  <th>Spalte 2</th>
  <th>Spalte 3</th>
</tr>
</thead>
<tbody>
<tr>
  <td>Zelle 1</td>
  <td>Zelle 2</td>
  <td>Zelle 3</td>
</tr><tr>
  <td>Zelle 4</td>
  <td>Zelle 5</td>
  <td>Zelle 6</td>
</tr><tr>
  <td>Zelle 7</td>
  <td>Zelle 8</td>
  <td>Zelle 9</td>
</tr><tr>
  <td>Zelle 10</td>
  <td>Zelle 11</td>
  <td>Zelle 12</td>
</tr>
</tbody>
</table>
Ausgabe des HTML-Codes

HTML Tabelle mit Zebrastreifen

Spalte 1 Spalte 2 Spalte 3
Zelle 1 Zelle 2 Zelle 3
Zelle 4 Zelle 5 Zelle 6
Zelle 7 Zelle 8 Zelle 9
Zelle 10 Zelle 11 Zelle 12

Dieser Hintergrund       repräsentiert das Ausgabe-Display und gehört nicht zum Beispiel-Code.