Hilfe:Tabellen

Diese Seite beschreibt die Verwendung von Tabellen in Wikipedia-Seiten und richtet sich speziell an Newcomer. Solltest du Probleme beim Erstellen einer Tabelle haben, wird dir auf Wikipedia:Fragen zur Wikipedia von den Mitautoren gerne und in der Regel auch schnell geholfen.

Ein Stichwortverzeichnis listet alle maßgeblichen Begriffe der zugehörigen Hilfeseiten.

Einführung

Vorteil von Tabellen

Tabellen sind eine spezielle, strukturierte Form von Datenlisten. Im Gegensatz zu normalen Listen ermöglichen sie eine differenziertere, mehrdimensionale und übersichtlichere Darstellung mit vielen Informationen pro Eintrag und, falls gewünscht, auch eine Sortierbarkeit der einzelnen Spalten. Hierbei kann der Leser Daten numerisch nach Größe sortieren lassen, Begriffe können alphabetisch oder beides nach Rangordnung sortiert werden. Dadurch kann auch Mehrfachdarstellung (Redundanz) vermieden werden (z. B. Päpste alphabetisch, nach Alter, nach Amtszeit, nach Land). Alles Wissen kann übersichtlich in einer Tabelle verknüpft werden, wodurch sie in der Wikipedia einen Schritt in Richtung Semantisches Web mit semantischen Netzen bilden können; Wissen wird zunehmend auch maschinenlesbar und Informationen können automatisch miteinander verknüpft werden.

Tabellen sollte man jedoch aufgrund ihres relativ komplizierten Quelltextes und mit Rücksicht auf die Darstellung auf mobilen Geräten nur dann einsetzen, wenn die Informationsdarstellung dadurch wirksam übersichtlicher wird. Der Einsatz als rein grafisches Gestaltungsmittel ist nicht erwünscht; man sollte deshalb immer überlegen, ob die Informationen nicht besser in einer einfachen Liste unterzubringen sind (siehe Hilfe:Textgestaltung und Hilfe:Listen).

Tabellen im Schreibmaschinenstil ohne Formatierungen

Die einfachste und schnellste Art, eine Tabelle zu erstellen, ist der Schreibmaschinenstil. Dazu wird jeder Tabellenzeile ein Leerzeichen vorangestellt. Spalten und Layout werden optisch im Quelltextbearbeitungsmodus angepasst. Dabei sollte bedacht werden, dass diese Formatierung die Breite der Druckversion nicht überschreiten soll (ca. 780 px bei Normalschriftgröße) und auf kleineren Bildschirmen ärgerlich sein kann. Die Zeilen verhalten sich anders als eine richtige Tabelle, da sie bei Überschreitung der Fensterbreite unkontrolliert umbrechen und so unübersichtlich werden können. Die in diesem Beispiel gezeigte Tabelle wäre schon zu breit, wenn man das Browser-Fenster schmaler setzt. Auch in der mobilen Ansicht könnte sie zu breit sein und unleserlich werden.

Derartige Tabellen werden geduldet, wenn sie von jemand eingefügt werden, der keine besseren Formatierungsmöglichkeiten beherrscht; sie sollten aber im Lauf der Zeit von erfahrenen Wikipedianern in richtige Tabellen umgewandelt werden.

Beispiel und Ergebnis:

Klimatabelle

Monat                     JAN FEB MÄR APR MAI JUN JUL AUG SEP OKT NOV DEZ
-------------------------------------------------------------------------
Ø Tagestemperatur in °C    21  21  22  23  24  25  27  29  28  26  24  22
Ø Nachttemperatur in °C    15  15  15  16  17  18  20  21  20  19  18  16
Ø Sonnenstunden pro Tag     6   6   7   8   9   9   9   9   8   7   6   5
Ø Regentage pro Monat       6   4   3   2   2   1   0   0   2   5   6   7
Ø Wassertemperatur in °C   19  18  18  18  19  20  21  22  23  23  21  20

Technische Grundlagen

In der MediaWiki-Syntax beginnt jede Tabelle mit einer geschweiften Klammer { gefolgt von einem senkrechten Strich | und endet mit einem Strich | gefolgt von einer geschweiften Klammer }.

Um die Zellen einer Tabelle zu formatieren, lassen sich sowohl für die Tabelle als Ganzes als auch für einzelne Zellen HTML-Attribute angeben. Insbesondere kann das style-Attribut verwendet werden, wodurch sich beliebige CSS-Formatierungen realisieren lassen. Einzelne Zeilen einer Tabelle lassen sich ebenfalls formatieren, einzelne Spalten jedoch nicht, dies muss zellenweise geschehen.

Einfache Tabellen

Ohne jegliche Zuweisung (Klassen, Styles oder Tabellenattribute) ist eine Tabelle zunächst transparent, lediglich die Formatierung unter- oder nebeneinander liegender Inhalte wird umgesetzt.

Quelltext:

Zeilen

{|
|-
| Zelle 1
|-
| Zelle 2
|-
| Zelle 3
|}

Spalten

{|
|-
| Zelle 1
| Zelle 2
| Zelle 3
|}

Zeilen und Spalten

{|
|-
| Zelle 1/1
| Zelle 2/1
|-
| Zelle 1/2
| Zelle 2/2
|}

Spalten alternativ

{|
|-
| Zelle 1 || Zelle 2 || Zelle 3
|}

Weitere Beispiele

VisualEditor

  • Über Eigenschaften das Menü „Tabelleneigenschaften“ öffnen.
  • Dort „Stilisiert (wikitable)“ →
     _0000 
    ausgeschaltet.

Tabellenüberschrift

Es ist möglich, eine Gesamt-Überschrift über der Tabelle anzugeben.

  • Die Beschriftung wird zentriert dargestellt (bei wikitable auch fett).
  • Sie wird umbrochen, wenn sie breiter als die Tabelle mit automatischem Zeilenumbruch ist. Zu lange Wörter ragen eventuell sogar über eine schmale Tabelle hinaus
  • Der Überschrift können eigene Attribute (Klassen- oder Stylezuweisungen) mitgegeben werden.
  • Sie dient der Barrierefreiheit. Anders als nur optisch hervorgehobene Elemente wird sie beim Vorlesen der Tabelle zugeordnet, und es kann dann entschieden werden, ob diese Tabelle übersprungen werden oder vorgelesen werden soll.
  • Im Layout der Gesamtseite werden Tabellenüberschriften (anders als Abschnittsüberschriften) bei Platzproblemen nicht von der nachfolgenden Tabelle getrennt.

Quelltext:

|+ Tabellenüberschrift

VisualEditor

  • Über Eigenschaften das Menü „Tabelleneigenschaften“ öffnen.
  • Dort „Überschrift“ →
     0000_ 
    eingeschaltet.

Kopfzellen und Kopfzeilen

Für eine Kopfzelle wird der senkrechte Strich durch ein Ausrufezeichen ! ersetzt. Text in einer solchen Zeile wird zentriert und fett dargestellt.

Als erste Zeile einer Datentabelle ist eine Kopfzeile aus Kopfzellen üblich.

Kopfzellen unterscheiden sich nicht nur optisch; sie werden auch von Software als Überschriften für die Spalte (bzw. auch Zeile) erkannt und ausgewertet.

Quelltext:

|-
! Name !! Regierungszeit !! Abstammung

Beispiele

– nicht verfügbar, die Zelleninhalte können bearbeitet, ihre Eigenschaften jedoch nicht visuell geändert werden.

Linkziele oder Anker in Tabellen

Anker (Sprungziele) sollten in Tabellen, soweit möglich, direkt über Angabe von id="…" eingetragen werden.

Folgender Quelltext ist optimal:

|- id="meinSprungziel"
| Inhalt || Inhalt || Inhalt

Damit wird die gesamte Tabellenzeile als Ziel angesprochen und zusammen mit der oberen Rahmenlinie im Browser dargestellt. id="…" definiert in beliebigen Elementen ein Fragment. Es ist nicht möglich, mehrere ID hinter einem Trenner zu platzieren; wenn nötig, kann man aber jeder Tabellenzelle eine weitere ID zuordnen.

Weniger günstig wäre es, ein Linkziel mit der Vorlage:Anker zu definieren, indem Textinhalt markiert wird. Dann wird auch exakt bis auf diese Buchstaben positioniert. Ist diese Textzeile nicht oben bündig ausgerichtet, kann es leicht sein, dass von ihren Nachbarzellen die oberen Zeilen nicht im Sichtbereich erscheinen, weil dieser am tiefer liegenden Anker ausgerichtet wurde. In jedem Fall müsste die Rahmenlinie außerhalb des sichtbaren Bereichs liegen und den Lesern fällt die Orientierung schwerer.

Hier ein Beispiel, wo diese Sprungziele innerhalb einer Tabelle stehen könnten;
springe zu #ganz_oben, #Ü-id, #K-id, #Sprungziel1, #Sprungziel2, #Sprungziel3:

Überschrift (Ü-id)
Kopfzelle (K-id)
Zeile 1 Sprungziel 1
(mit ID
in Zeile)
Inhalt
mit
Umbruch
Zeile 2 Sprungziel 2
(mit ID
in Zelle)
Inhalt
mit
Umbruch
Zeile 3 Sprungziel 3
(mit Anker-
Vorlage
in Zelle)
Inhalt mit
Umbruch,
man landet
mittendrin
(abhängig von
Zellenhöhe)
"Sprungziel3"

Quelltext dieser Tabelle:

{| class="wikitable" id="ganz_oben"
|+ id="Ü-id" | Überschrift (Ü-id)
|- id="K-id"
!colspan="3"| Kopfzelle (K-id)
|- id="Sprungziel1"
| Zeile 1 || Sprungziel 1<br /> (mit ID<br /> in Zeile) || Inhalt<br /> mit<br /> Umbruch
|-
| Zeile 2 ||id="Sprungziel2"| Sprungziel 2<br /> (mit ID<br /> in Zelle) || Inhalt<br /> mit<br /> Umbruch
|-
| Zeile 3 || {{Anker|Sprungziel3}} Sprungziel 3<br /> (mit Anker-<br /> Vorlage<br /> in Zelle) || Inhalt mit<br /> Umbruch,<br /> man landet <br /> mittendrin<br /> (abhängig von <br /> Zellenhöhe)<br /> "Sprungziel3"
|}

Zu beachten ist, dass innerhalb einer ID kein Leerzeichen vorkommen darf, stattdessen ist der Unterstrich zu benutzen (die Vorlage führt diese Ersetzung automatisch durch). In Wikisyntax kann das Sprungziel trotzdem mit Leerzeichen angegeben werden: #ganz oben (Quelltext: [[#ganz oben]]).

CSS-Klassen für Tabellen

Um Tabellen sowohl in ihren Inhalten als auch bereits im Kopfbereich weitgehend frei von Elementen zu halten, die die Darstellungsweise betreffen, wurden für CSS einige Klassen entwickelt, die es erlauben, wichtige Stile mit wenigen anschaulichen Anweisungen festzulegen. Die einfache Tabelle ohne solche Zuweisungen ist rahmenlos und hat einen transparenten Hintergrund.

Mehrere Namen von Klassen können in einer durch Leerzeichen voneinander getrennten Aufzählung im Attribut class= genannt werden. Klassen können einer ganzen Tabelle oder einer ganzen Zeile oder einer einzelnen Zelle zugewiesen werden, um eine bestimmte Gestaltung oder Eigenschaft zu bewirken.

wikitable

Die Klasse wikitable liefert die wesentliche Basis-Dekoration für Datentabellen in Texten und sollte dort einheitlich deklariert werden.

Quelltext:

{| class="wikitable"
  • Die Tabellenüberschrift ist zentriert und in Fettschrift formatiert
  • Die Tabelle erhält einen Rahmen um jede einzelne Zelle
  • Die Inhaltszellen sind hellgrau hinterlegt (entsprechend "hintergrundfarbe1")
  • Die Kopfzellen sind zentriert, in Fettschrift formatiert und mittelgrau hinterlegt (entsprechend "hintergrundfarbe5")
  • Alle Zelleninhalte haben einen Mindestabstand zum umgebenden Rahmen
  • Die komplette Tabelle hat einen definierten Abstand nach oben und unten
  • Für die Hintergrundfarbe der Kopfzeile ist nur eine Wiki-CSS-Klasse möglich, beispielsweise class="hintergrundfarbe2"

Beispieldarstellung

VisualEditor

  • Über Eigenschaften das Menü „Tabelleneigenschaften“ öffnen.
  • Dort „Stilisiert (wikitable)“ →
     0000_ 
    eingeschaltet.

Ausrichtung der Tabelle

Für Mobilgeräte steht diese Funktionalität (Stand Mai 2020) nicht zur Verfügung. Einzig class="wikitable center" hat eine Auswirkung.
– nicht veränderbar

Normalerweise werden Tabellen in Artikeln linksbündig ohne Textumfluss dargestellt.

Ausrichtung mit Textumfluss

Um Tabellen mit Textumfluss darzustellen, können CSS-Klassen oder Style-Zuweisungen genutzt werden:

  • Die CSS-Klasse stellt die Tabelle immer an den entsprechenden Rand der Seite und hat einen automatischen Abstand von 1em nach oben, unten und der dem Rand gegenüberliegenden Seite.
  • Die style-Zuweisung kann hingegen genutzt werden, um Tabellen nebeneinander zu positionieren, siehe Dynamisches Layout
  • Bei der unmittelbaren style-Zuweisung entsteht kein Abstand.

Syntax:

{| class="wikitable float-left"
{| class="wikitable" style="float:left;"
  • Beides stellt eine Tabelle linksbündig mit Textumfluss dar, der Fließtext steht rechts neben der Tabelle.

Syntax:

{| class="wikitable float-right"
{| class="wikitable" style="float:right;"
  • Beides stellt eine Tabelle rechtsbündig mit Textumfluss dar, der Fließtext steht links neben der Tabelle.

Um den Textumfluss zu beenden, das heißt zu verhindern, dass die Tabelle in den nächsten Abschnitt oder dass die folgende Überschrift neben die Tabelle rutscht, sollte das float aufgehoben werden.

  • Dafür gibt es eine entsprechende Anweisung zum Zurücksetzen
  • beispielsweise <div style="clear: both;"></div>

Beispiele

Ausrichtung zentriert

Für die einfache Zentrierung einer Tabelle stehen zwei CSS-Klassen zur Verfügung:

Syntax:

{| class="wikitable center"
  • Stellt eine Tabelle mit zentrierten Zelleninhalten im gesamten verfügbaren Bereich dar.

Syntax:

{| class="wikitable centered"
  • Stellt eine Tabelle horizontal in die Mitte des verfügbaren Bereichs, die Zelleninhalte bleiben linksbündig.

Beispiele

Verbundene Tabellenzellen

Zellen verbinden: Eine Zelle kann die rechts oder unten angrenzenden Zellen überspannen, dafür gibt es zwei unterschiedliche Anweisungen:

  • colspan englisch column span ‚Spalten überspannend‘
  • rowspan englisch row span ‚Zeilen überspannend‘

Die Syntax kann sowohl für Kopfzellen als auch für Inhaltszellen eingesetzt werden.

Beispiele

Mehrere Zellen markieren, verbinden, teilen – Der visuelle Editor bietet eine einfache Möglichkeit Zellen zu verbinden oder verbundene Zellen zu wieder trennen.

Nebeneinander – colspan

Syntax:

|-
!colspan="3"| Zwischenüberschrift
|-
|colspan="2"| Zelle 1/1 bis Zelle 2/1 || Zelle 3/1
|-
| Zelle 1/2 ||colspan="2"| Zelle 2/2 bis Zelle 3/2

Der Wert für das colspan sollte nicht größer sein als die Anzahl der Zellen in einer Zeile.

Übereinander – rowspan

Syntax:

|-
!rowspan="2"| Kopfzelle !! Kopfzelle oben !!rowspan="2"| Kopfzelle
|-
! Kopfzelle unten
|-
| Zelle 1/1 ||rowspan="2"| Zelle 2/1 bis Zelle 2/2 || Zelle 3/1
|-
| Zelle 1/2 || bis Zelle 3/2

Der Wert für das rowspan sollte nicht größer sein als die Anzahl der Zellen in einer Spalte, es könnte sonst zu Darstellungsfehlern führen.

Über- und Nebeneinander

Kombinationen können bei der Quelltextbearbeitung recht unübersichtlich sein, hier kann die visuelle Bearbeitung vorteilhafter sein, weil man sich nicht um die Syntax kümmern muss.

Syntax:

|-
|colspan="3" rowspan="2"| Inhalt verbundener Zellen

Optische Dekoration

Zur Gestaltung der Tabellenrahmen und Zellenränder siehe Rahmen und Zellenränder

Die Inhalte von Tabellen können innerhalb der Zellen vertikal und horizontal ausgerichtet werden. Zudem lässt sich die Breite der Spalten oder Höhe der Zeilen einstellen.
Dabei ist zu beachten, …

  • … dass die Effekte der Textausrichtung optisch wirkungslos bleiben könnten, wenn bei automatischer Spaltenbreite (Standardverhalten) alle Zelleninhalte die gleiche Breite haben.
  • … eine voreingestellte Spaltenbreite nicht eingehalten werden kann, wenn der Zelleninhalt breiter als diese Einstellung ist, beispielsweise durch lange Wörter oder breite Bilder …, die Breite richtet sich dann nach dem breitesten Inhalt in der Spalte. Den Zellen in einer Spalte können nicht mehrere unterschiedliche Breiten zugewiesen werden, es reicht beispielsweise die einmalige Zuweisung in der oberen Zelle der Spalte. Lange Wörter können durch einen bedingten Trennstrich &shy; abhängig von der Spaltenbreite getrennt werden.
  • … Texte, die über ein nowrap oder geschützte Leerzeichen &nbsp; zwischen den Wörtern am Zeilenumbruch gehindert werden, wirken sich ebenfalls auf die Spaltenbreite aus.
  • … die Zeilenhöhe richtet sich, auch bei einer Voreinstellung, immer nach der Zelle mit dem höchsten Inhalt.

Dies kann sich bei unterschiedlicher Bildschirmbreite, auf unterschiedlichen Endgeräten, bei individuell voreingestellten Schriftarten oder Bildgrößen oder bei unterschiedlichen Browsern auf das Layout der Tabelle auswirken.

Spaltenbreite

– nicht veränderbar

Beispiele

Die Spaltenbreite kann als Angabe in % (Anteil an der Gesamtbreite der Tabelle) oder mit festen Werten px oder besser em erfolgen. Auf Angaben mit der Einheit px sollte verzichtet werden; es sei denn, es werden ausschließlich Grafiken erwartet. Statt dessen sollte für Text mit der Einheit em gearbeitet werden, wobei 1em ungefähr der Breite des Großbuchstabens „M“ in der umgebenden Schriftgröße entspricht.

Grundsätzlich ist es besser, wenn die Browser der Leser nach den momentanen Gegebenheiten (Bildschirmplatz, Schriftart) dynamisch die Spaltenbreiten verteilen. Sie machen das in der Regel sinnvoller als die Autoren der Artikel. Die meisten im Bestand vorgegebenen expliziten Spaltenbreiten sind völlig überflüssig.

Nur wenn mehrere Tabellen gleicher Art in der Seite vorkommen und diese gleiches Aussehen haben sollen, ist eine Festlegung regelmäßig sinnvoll; oder wenn Spalten mit gleichartigem Inhalt gleichmäßig aussehen sollen.

Für die breiteste Spalte sollte kein Wert explizit vorgegeben werden, sondern die Browser sollten deren Breite selbst errechnen. Überbestimmte Vorgaben für alle Spalten können durch Rundungsfehler zu Darstellungsfehlern führen; etwa wenn Prozentsätze addiert werden, deren Summe scheinbar 100 % ergibt. Bei der Darstellung wird jedoch mit physischen Einheiten gerechnet, die nicht exakt auf einzelne Prozentpunkte abgebildet sind.

Auch für die komplette Tabelle lässt sich ein Wert vorgeben. Für eher schmale Tabellen mit nur wenigen Spalten sollte daher eine Tabelle nicht auf einen Wert style="width:100%" gesetzt werden, weil die Inhalte dann bei breiten Bildschirmen weit auseinander liegen würden.

Breite in %

Die Angabe in % richtet sich immer auch nach der Breite der einzelnen Zelleninhalte. Durch Änderungen in einer Spalte kann sich so das Layout der gesamten Tabelle verändern. Die beabsichtigten Prozentangaben der einzelnen Spalten müssen in der Summe 100% ergeben, auch dann, wenn für die komplette Tabelle beispielsweise eine Breite von style="width:50%" definiert wurde. Um Darstellungsfehler zu vermeiden, sollte für eine (meist die breiteste) Spalte kein Prozentwert angegeben werden; diese Breite wird besser vom Browser errechnet.

Syntax:

|-
|style="width:20%;"| Spalte mit 20 % der Gesamtbreite der Tabelle

Breite in em

Die Breite kann auch in festen Werten vorgegeben werden. Dabei gilt es zu beachten, dass die Gesamtbreite einer Tabelle mit festen Werten, je nach Bildschirmbreite des Betrachters, über den rechten Rand hinauslaufen kann.

Syntax:

|-
|style="width:20em;"| Spalte mit fester Breite von 20em

Gleichbreite Spalten (Tabellen untereinander)

Bei mehreren, dicht untereinander stehenden Tabellen mit ähnlichen Inhalten und Überschriften kann es vorteilhaft sein, die Breite für die Spalten einheitlich festzulegen. Das funktioniert nur, wenn die Inhalte die Werte für die Breiten nicht überschreiten.

Horizontale Textausrichtung

– nicht veränderbar

Beispiele

Um den Text in allen Inhaltszellen einer Tabelle horizontal auszurichten, kann die CSS-Anweisung am Tabellenbeginn gesetzt werden, zum Beispiel:

{| class="wikitable" style="text-align:center;"

Neben center für „zentriert“ gibt es auch left (Vorgabe; linksbündig) und right (rechtsbündig).

Die gleiche Zuweisung kann sinngemäß auch für eine Zeile oder für jede einzelne Zelle gesetzt werden.

Vertikale Textausrichtung

Um den Text in einer Zelle vertikal auszurichten, gibt es style="vertical-align:top":

|style="vertical-align:top"| Inhalt, nach oben ausgerichtet

Statt top für „oben“ gibt es auch middle (Vorgabe; zentriert) und bottom (unten).

Um den Text in allen Inhaltszellen einer Tabelle nach oben auszurichten, gibt es die Klasse toptextcells:

{| class="wikitable toptextcells"

– nicht veränderbar

  • Die Inhalte der Inhaltszellen werden vertikal so ausgerichtet, dass sie am oberen Rand der Zellen stehen.
  • Die obere Textzeile bildet mit der oberen Begrenzung der Zelle eine Flucht, was die Lesbarkeit benachbarter Zellen erhöht.
  • Standard wäre eine vertikal mittige Ausrichtung.
  • Kopfzellen bleiben unverändert, sie können bei Bedarf mittels einer Stylezuweisung style="vertical-align:top" ebenfalls nach oben ausgerichtet werden.

Zellfärbung

– nicht veränderbar

  • Farben sollten sparsam verwendet werden.
  • Die bereits seit 1998 veraltete Anweisung bgcolor="#RRGGBB" soll nicht mehr verwendet werden, siehe auch veraltete Anweisungen.

Beispiele

Klassenzuweisung

Klassenname Farbe in allen Skins
Heller Modus Dunkelmodus
hintergrundfarbe-basis #FFFFFF #101418
hintergrundfarbe1 #F8F9FA #202122
hintergrundfarbe2 #FFFFFF
hintergrundfarbe3 #FFFF40
hintergrundfarbe4 #FFAA00
hintergrundfarbe5 #EAECF0 #27292D
hintergrundfarbe6 #B3B7FF
hintergrundfarbe7 #FFCBCB
hintergrundfarbe8 #FFEBAD
hintergrundfarbe9 #B9FFC5

Es kann eine der Wikipedia-Standardfarben vergeben werden: class="hintergrundfarbeX"X = 1 bis 9. Seit Juli 2024 gibt es zudem die Möglichkeit, einer Tabelle eine Basishintergrundfarbe hintergrundfarbe-basis zu übergeben, die für eine bessere Darstellung bei der Verwendung des Dark Modes (Dunkelmodus) führt.

Alle Inhaltszellen der Tabelle einfärben

{| class="hintergrundfarbeX"

Komplette Inhaltszeilen einfärben

|- class="hintergrundfarbeX"

Einzelne Zellenhintergründe einfärben

|class="hintergrundfarbeX"| Zelleninhalt

Einzelne Kopfzellen einfärben

!class="hintergrundfarbeX"| Kopfzelle

Stylezuweisung

Den Zellen kann direkt eine beliebige Farbe zugewiesen werden. style="background:#RRGGBB" – Werte von #000000 (schwarz) bis #FFFFFF (weiß)

  • Hinter der Raute (#) werden die Farbanteile nach dem RGB-Schema (Rot-Grün-Blau) jeweils als zweistellige hexadezimale Zahlen angegeben.
  • „00“ (=dezimal 0) bedeutet 0 % und „FF“ (=dezimal 255) bedeutet 100 % der jeweiligen Grundfarbe.
  • #FF0000 _ Rot, #00FF00 _ Grün und #0000FF _ Blau.
    Diese Grundfarben lassen sich beliebig mischen #FF8C00 _ Orange. Es sollte bei der Farbgebung beachtet werden, dass Farben nicht zu grell gewählt werden, die Inhalte müssen gut lesbar bleiben.

Alle Inhaltszellen der Tabelle einfärben

{| style="background:#RRGGBB"

Komplette Inhaltszeilen einfärben

|- style="background:#RRGGBB"

Einzelne Zellenhintergründe einfärben

|style="background:#RRGGBB"| Zelleninhalt

Einzelne Kopfzellen einfärben

!style="background:#RRGGBB"| Kopfzelle

Einfärbungen müssen ausreichenden Konstrast von Vorder- und Hintergrundfarbe gewährleisten, und ein nennenswerter Teil des Publikums ist farbenfehlsichtig, kann insbesondere Rot und Grün nicht unterscheiden.

Zeilenumbruch, Aufzählung

VisualEditor

  • Doppelklicke in eine Zelle der Tabelle …
    • Zeilenumbrüche innerhalb einer Zelle können dort, wie überall im Text, durch Drücken von Enter erzeugt werden.
    • Soll in die Zelle eine Aufzählungsliste eingefügt werden, kann aus dem Menüpunkt die Art der Aufzählung, Listenpunkte oder nummerierte Liste , ausgewählt werden. Die einzelnen Listenpunkte werden ebenfalls durch Enter erzeugt.

Quelltextbearbeitung

  • Ein dargestellter Zeilenumbruch in einer Zelle kann am einfachsten durch das Element <br /> an jeder Bruchstelle innerhalb einer und derselben Zeile des Quelltextes erzeugt werden. Eine alternative Möglichkeit besteht darin, für jede Zeile des Eintrags eine neue Quelltext-Zeile zu beginnen, ebenfalls mit <br /> an den Bruchstellen am jeweiligen Zeilenende, wie im nachfolgenden Beispiel (2. Spalte) gezeigt wird. Das ist bei längeren Zeilen des umbrochenen Tabelleneintrags übersichtlicher, kann allerdings zu einer etwas veränderten vertikalen Anordnung des Zelleninhalts führen; auch können dann nicht in direktem Anschluss daran weitere Zellen innerhalb derselben Quelltext-Zeile hinzugefügt werden (wie in Wikisyntax #Elemente beschrieben).
  • Eine Zelle innerhalb einer Tabelle kann auch eine Aufzählung in Form einer Liste (wie in Hilfe:Listen beschrieben) enthalten. Da hierbei jedes Element der Liste eine eigene Quelltext-Zeile erfordert, ist dies ein Sonderfall der im vorigen Punkt genannten Alternativmöglichkeit des Zeilenumbruchs. Die <br /> an den Zeilenenden entfallen hier, da die Aufzählungszeichen * oder #, die alle direkt am Anfang der jeweiligen Quelltext-Zeile stehen müssen, hinreichend den Zeilenwechsel markieren.
Eine QT-Zeile Individuelle QT-Zeilen
<br /> <br /> * #
Zeile 1
Zeile 2
Zeile 3

Zeile 1
Zeile 2
Zeile 3

  • Zeile 1
  • Zeile 2
  • Zeile 3
  1. Zeile
  2. Zeile
  3. Zeile

QT = Quelltext

Quelltext dieser Tabelle:

{| class="wikitable toptextcells"
|-
! ''Eine'' QT-Zeile !!colspan="3"| Individuelle QT-Zeilen
|-
! <code>&lt;br /&gt;</code> !! <code>&;lt;br /&gt;</code> !! <code>*</code> !! <code>#</code>
|-
|Zeile 1<br /> Zeile 2<br /> Zeile 3
|
Zeile 1<br />
Zeile 2<br />
Zeile 3
|
* Zeile 1
* Zeile 2
* Zeile 3
|
# Zeile
# Zeile
# Zeile
|}

Lange Wörter

Die Mindestbreite einer Spalte richtet sich nach dem längsten Wort. Um der darstellenden Software zu signalisieren, wo eine Worttrennung möglich ist, kann in besonders langen Wörtern das Entity &shy; in den Quelltext eingefügt werden. Dann erfolgt bei Bedarf an dieser Stelle Silbentrennung. Das sollte jedoch nur sparsam genutzt werden.

Dynamisches Layout

Die von unseren Lesern verwendeten Endgeräte können sich unterscheiden, insbesondere unterschiedlich breit sein: PC auf dem Schreibtisch, Smartphone, Großbildschirme. Gute Seiten passen sich den individuellen Verhältnissen bei momentanen Lesern an. Siehe dazu Layoutfluss.

– nicht veränderbar

Bei der Verwendung von style="float:…;" sollte immer auch ein Abstand margin-…: angegeben werden, damit der umfließende Inhalt der Seite nicht abstandslos an die Tabelle stößt.

Um den Textumfluss zu beenden, sollte das float aufgehoben werden. Dafür gibt es entsprechende Anweisungen zum Zurücksetzen, beispielsweise:

  • mit Vorlage:Absatz (gleichbedeutend mit <div style="clear: both;"></div>) nach der Tabelle
  • oder mittels style="…;clear:both;" im Tabellenkopf einer nachfolgenden Tabelle

In den folgenden Beispielen fordert jeweils die linke Tabelle einen kleinen Abstand nach rechts.

  • Stehen beide Tabellen nebeneinander, ist das der Abstand zur rechten Tabelle.
  • Stehen beide Tabellen untereinander, weil nicht genug Platz vorhanden ist, so stehen sie trotzdem bündig an der linken Kante.

Tabellen linksbündig nebeneinander

style="float:left;"

Tabelle 1
Kopfzelle Kopfzelle
Inhaltszelle Inhaltszelle
Inhalt
linksbündig
vertikal zentriert
Tabelle 2
Kopfzelle Kopfzelle
Inhaltszelle Inhaltszelle
Inhalt
linksbündig
vertikal zentriert

Quelltext der Tabellen: mit Abstand nach rechts

{| class="wikitable" style="float:left; margin-right:1em;"
|+ Tabelle 1
|-
! Kopfzelle !! Kopfzelle
|-
| Inhaltszelle || Inhaltszelle
|-
| Inhalt<br /> linksbündig || vertikal zentriert
|}
{| class="wikitable" style="float:left;"
|+ Tabelle 2
|-
! Kopfzelle !! Kopfzelle
|-
| Inhaltszelle || Inhaltszelle
|-
| Inhalt<br /> linksbündig || vertikal zentriert
|}
<div style="clear: both;"></div>

Tabellen rechtsbündig nebeneinander

style="float:right;"

Tabelle 1
Kopfzelle Kopfzelle
Inhaltszelle Inhaltszelle
Inhalt
linksbündig
vertikal zentriert
Tabelle 2
Kopfzelle Kopfzelle
Inhaltszelle Inhaltszelle
Inhalt
linksbündig
vertikal zentriert

Quelltext der Tabellen; die linke Tabelle erhält einen kleinen Abstand nach rechts

{| class="wikitable" style="float:right;"
|+ Tabelle 1
|-
! Kopfzelle !! Kopfzelle
|-
| Inhaltszelle || Inhaltszelle
|-
| Inhalt<br /> linksbündig || vertikal zentriert
|}
{| class="wikitable" style="float:right; margin-right:1em;"
|+ Tabelle 2
|-
! Kopfzelle !! Kopfzelle
|-
| Inhaltszelle || Inhaltszelle
|-
| Inhalt<br /> linksbündig || vertikal zentriert
|}
<div style="clear:right;"></div>

Sonstiges

Dem Zelleninhalt Anmerkungen hinzufügen

  • Hierfür eignet sich besonders die Vorlage:FN.
  • Alternativ kann die für Einzelnachweise eingesetzte <ref>-Anweisung wie folgt verwendet werden:

Zellen mit Anmerkungen

Spalte 1 Spalte 2
Zelle 1 1 Zelle 2
Zelle 3 Zelle 4[Anm. 1]

Anmerkungen

  1. Eine Anmerkung <ref>
1 
Text der Anmerkung {{FN}}

Quelltext dieser Tabelle:

{| class="wikitable"
|-
! Spalte 1
! Spalte 2
|-
| Zelle 1{{FN|1}}
| Zelle 2
|-
| Zelle 3
| Zelle 4<ref group="Anm.">Eine Anmerkung <code>&lt;ref&gt;</code></ref>
|}
'''Anmerkungen'''
<references group="Anm." />
{{FNBox|
{{FNZ|1|Text der Anmerkung {{Vorlage|FN}}}}
}}

Datumsangaben

Siehe Wikipedia:Datumskonventionen #Datumsangaben in Tabellen.

Sortierbarkeit

Für Mobilgeräte stand diese Funktionalität viele Jahre nicht zur Verfügung; sie ist dort erst seit Juli 2022 wirksam.

Nummerierung der Zeilen

Eine „automatische“ Nummerierung der Zeilen einer Tabelle, so wie es etwa bei einer nummerierten Liste mit dem Zeichen # geschieht, ist bei Tabellen ebenfalls möglich. Dies geschieht durch Einfügung einer zusätzlichen vorangestellten Spalte, die eine Zählung der Zeilen ermöglicht und die zugehörige Zeilennummer anzeigt. Die Syntax wird auf der Unterseite „Zählung“ beschrieben.

„Layout-Tabellen“

In den 1990er Jahren war es einmal Mode, mittels Tabellen alle Elemente der Seite in einem fest vorgegebenen Schema anzuordnen: die sogenannten Layout-Tabellen. Typisch war dann der Hinweis „Optimiert für 1024×768 Pixel“ – alle Leser mit kleinerem Bildschirm oder die sich die Webseite nicht als Vollbild ansehen wollten, hatten Pech und bekamen eine durcheinandergewürfelte oder unvollständige Darstellung angezeigt.

Heute gibt es Mobilgeräte mit relativ kleinem, zumindest aber begrenztem Bildschirm (rund die Hälfte aller Lesezugriffe auf eine Wikipedia erfolgen über Mobilgeräte). Andere Leser verwenden HD-Bildschirme, scherzhaft als „Kinoleinwand“ bezeichnet, und könnten extrem viele Elemente nebeneinander anzeigen (wobei es dem Verständnis und der Lesbarkeit auch nicht dienlich wäre, 1000 Buchstaben in einer einzigen Zeile anzuzeigen).

Webseiten sollen sich heutzutage am „Responsiven Webdesign“ orientieren. Sie sollen eine den Umständen bei den Lesern entsprechende übersichtliche und sinnvolle Darstellung erzeugen. Das können Browser auch, wenn ihnen dazu Freiraum gelassen wird. Layout-Vorgaben sollten sich auf inhaltlich notwendige Forderungen beschränken und keine bestimmte Präsentation vorschreiben. Viele Wikipedia-Autoren der ersten Jahre hatten nur mit relativ großen „Desktop“-Darstellungen gearbeitet und vorausgesetzt, dass sich jeder Leser ähnlich viel Bildschirmplatz verschaffen könne, und dies auch durch ein statisches Layout zwingend vorgegeben. Würde umgekehrt ein schmales Design für Mobilgeräte fest definiert werden, wird bei Lesern mit breiterem Bildschirm viel Platz rechts daneben verschenkt; inhaltlich zusammengehörige Elemente sind hier nicht mehr gleichzeitig sichtbar, obwohl dafür Platz vorhanden wäre. Auch dies ist eine unübersichtliche Darstellung.

Um Tabellen je nach Fenstergröße bei genügend Platz nebeneinander anzuordnen, und bei wenig Raum untereinander, siehe den Abschnitt Dynamisches Layout.

Tabellen sollten nur dazu verwendet werden, um einzelne Datenelemente übersichtlich strukturiert anzuordnen. Das ist auch ein wichtiger Aspekt für die Barrierefreiheit. Für die Präsentation gibt es andere Möglichkeiten:

Vermieden werden sollte generell:

  • Vorgabe von Spaltenbreiten, wo nicht Einheitlichkeit mehrerer gleichartiger Elemente erzielt werden soll.
  • Angaben für die Gesamtbreite einer Tabelle (100% oder 50%) in Bezug zur Bildschirmbreite.
    • Leser an Mobilgeräten erhalten eine unnötig zerquetschte Darstellung, wenn gefordert wird, nur die halbe Bildschirmbreite solle genutzt werden, der restliche Platz würde verschenkt.
    • Leser vor Breitbildmonitoren bekommen eine gigantisch auseinandergezogene Zeile mit verlorengehenden Inhalten, wenn statt der vom Browser nach den Erfordernissen ermittelten Tabellenbreite die volle Bildschirmbreite verlangt wird.
  • Unterbinden von Zeilenumbrüchen (nowrap, geschützte Leerzeichen) wo nicht wirklich erforderlich. Bei schmaler Bildschirmbreite muss an geeigneten Stellen umbrochen werden können.

Hilfsmittel

  • In den VisualEditor lassen sich Tabellen bequem per Copy-&-Paste aus gängigen Office-Programmen einfügen, die anschließend auch im Quelltext weiter bearbeitet werden können
  • EXCEL-Tabellenumwandlung konvertiert den ausgewählten Tabellenbereich aus MS Excel direkt in das Wiki-Tabellenformat. Die wichtigsten Formatierungen wie Fett/Kursiv, Zellenhöhe und -breite, Schriftgröße, Farbinformation aus MS Excel bleiben erhalten.
  • Excel2Wiki berücksichtigt verbundene Zellen, dazu auch ein Programm zur Umwandlung der Spalten in Zeilen und umgekehrt und ein Programm zur Zeilenumkehr, d. h. die letzte Zeile wird zur ersten usw.
  • csv2wp ist ein Werkzeug zum Umwandeln von CSV-Dateien in Wiki-Tabellenformat. Damit lassen sich z. B. Tabellen aus Microsoft Excel importieren.
  • OpenOffice-Tabellen können mit Calc2Wiki konvertiert werden. Eine Alternative (mit der ein oder anderen Erweiterung) ist Calc2WikiTable.
  • Umwandlung von HTML-Tabellen in MediaWiki-Tabellen
  • Das Benutzerskript tableXpander@PerfektesChaos ermöglicht auf einer dargestellten Seite mittels JavaScript in Datentabellen verschiedene Berechnungen und das Durchzählen und Nummerieren von Zellen.

Weitere Informationen