So erstellst du eine Tabelle in Markdown:Syntax, Ausrichtung und mehrzeilige Zellen.
Eine Markdown-Tabelle ist reiner Text: Zellen, getrennt durch senkrechte Striche, und unter der Kopfzeile eine Zeile aus Bindestrichen. Hier siehst du die Syntax, wie du Spalten ausrichtest und wie ein senkrechter Strich oder eine zweite Zeile in eine Zelle kommt.
macOS 14 oder neuer. Lesen ist kostenlos; Bearbeiten und Reviews kaufst du einmalig.
Kurze Antwort
Schreibe die Kopfzeile, dann eine Trennzeile aus Bindestrichen, dann eine Zeile pro Tabellenzeile, mit | zwischen den Zellen. Doppelpunkte in der Trennzeile richten eine Spalte aus: :--- links, :---: zentriert, ---: rechts. Einen senkrechten Strich innerhalb einer Zelle schreibst du als \|, für eine zweite Zeile in einer Zelle schreibst du <br>.
| Plan | Price | Seats |
|:-----|------:|:-----:|
| Free | $0 | 1 |
| Team | $12 | 10 |
·
Die Grundsyntax einer Markdown-Tabelle
Tabellen gehören zu GitHub Flavored Markdown (GFM), dem Dialekt von GitHub, GitLab und den meisten Markdown-Apps. Eine Tabelle braucht drei Dinge:
-
Eine Kopfzeile
Die Spaltennamen, getrennt durch senkrechte Striche:
| Name | Role |. -
Eine Trennzeile
Eine Zeile aus Bindestrichen, eine Gruppe pro Spalte, direkt unter der Kopfzeile:
| --- | --- |. Sie braucht genauso viele Zellen wie die Kopfzeile, sonst bleibt der Text normaler Text und es entsteht keine Tabelle. -
Die Zeilen
Eine Zeile pro Tabellenzeile, die Zellen durch senkrechte Striche getrennt. Hat eine Zeile zu wenige Zellen, werden leere ergänzt; überzählige entfallen. Die Tabelle endet an der ersten Leerzeile.
| Name | Role |
| ----- | -------- |
| Alice | Designer |
| Bob | Engineer |
So sieht es für den Leser aus:
| Name | Role |
|---|---|
| Alice | Designer |
| Bob | Engineer |
Die senkrechten Striche am Anfang und am Ende jeder Zeile sind optional, machen die Tabelle aber leichter lesbar. Die Spalten müssen im Quelltext nicht untereinander stehen; das Auffüllen oben ist nur für Menschen. In Zellen können Fettschrift, Kursivschrift, Code, Links und Bilder stehen.
Ausrichtung in einer Markdown-Tabelle
Setze einen Doppelpunkt links, rechts oder an beiden Enden der Bindestriche einer Spalte:
| Trennzeile | Ausrichtung |
|---|---|
:--- | Links |
:---: | Zentriert |
---: | Rechts |
--- | Standard (in den meisten Apps links) |
| Item | Qty | Price |
|:-------|:---:|------:|
| Pencil | 12 | $1.50 |
| Ruler | 3 | $4.00 |
| Item | Qty | Price |
|---|---|---|
| Pencil | 12 | $1.50 |
| Ruler | 3 | $4.00 |
Die Ausrichtung gilt für die ganze Spalte, die Kopfzeile eingeschlossen. Du legst sie einmal in der Trennzeile fest, nicht Zelle für Zelle. Richte Zahlen rechtsbündig aus, damit die Ziffern untereinander stehen.
Ein senkrechter Strich oder eine zweite Zeile in einer Zelle
Ein senkrechter Strich beendet eine Zelle, deshalb braucht einer, der zum Text gehört, einen Backslash. GFM verlangt das auch in Inline-Code:
| Command | Meaning |
|--------------------|------------------|
| `a \| b` | a pipe, in code |
| Either \| or | a pipe, in text |
Eine Pipe-Tabelle hat eine Zeile pro Tabellenzeile, daher kann eine Zelle keinen echten Zeilenumbruch und keinen zweiten Absatz enthalten. Der übliche Ausweg ist das HTML-Tag <br>:
| Step | What to do |
|-------|-------------------------------------|
| Build | Run the build.<br>Fix any errors. |
| Ship | Tag the release.<br>Push the tag. |
Derselbe Trick ergibt eine mehrzeilige Zelle auf GitHub und in den meisten anderen Apps, die HTML zulassen. Eine Markdown-Liste funktioniert in einer Zelle nicht; braucht eine Zelle eine Liste, schreibe <br> zwischen kurze Einträge oder nimm die Liste aus der Tabelle heraus.
Breite Tabellen und lange Texte
Markdown kennt keine Spaltenbreite und kein Verbinden von Zellen; die App, die die Tabelle anzeigt, entscheidet, wie sie passt. Ein paar Gewohnheiten halten eine Tabelle überall lesbar:
- Halte die Zellen kurz, ein Wort oder eine Zahl. Setze die lange Erklärung in einen Satz unter die Tabelle.
- Nimm weniger Spalten. Hat eine Tabelle acht, dreh sie um: Die Spalten sind die Objekte, die Zeilen die Eigenschaften.
- Fülle den Quelltext nicht auf, um die Spalten auszurichten, wenn du die Tabelle oft bearbeitest; eine geänderte Zelle würde bedeuten, jede Zeile neu aufzufüllen.
- Für verbundene Zellen, Zeilenspannen oder eine Beschriftung schreibe die Tabelle in HTML. Die meisten Markdown-Apps zeigen ein einfaches
<table>an.
Warum eine Markdown-Tabelle nicht angezeigt wird
- Keine Trennzeile. Erst die Zeile aus Bindestrichen macht den Text zur Tabelle.
- Die Zellenzahlen unterscheiden sich. Hat die Kopfzeile drei Zellen und die Trennzeile zwei, wird nichts gerendert.
- Ein nicht maskierter senkrechter Strich in einer Zelle teilt sie in zwei. Schreibe
\|. - Eine Leerzeile in der Tabelle. Dort endet die Tabelle; der Rest ist normaler Text.
- Die App kennt keine Tabellen. Tabellen gehören weder zum ursprünglichen Markdown noch zum Kern von CommonMark. Sie kommen aus GFM, deshalb zeigt ein minimaler Parser die senkrechten Striche als Text.
Um das Ergebnis vor dem Commit zu sehen, öffne die Datei in einem Markdown-Reader. DotMD zeigt Tabellen gerendert an, und Lesen ist kostenlos. In DotMD Editor setzt Insert → Table eine fertige dreispaltige Tabelle in deine Datei, und die Live-Vorschau zeichnet sie beim Tippen neu.
Fragen zu Markdown-Tabellen
Wie richte ich Text in einer Markdown-Tabelle aus?
Setze Doppelpunkte in die Trennzeile, die Zeile aus Bindestrichen unter der Kopfzeile. :--- richtet die Spalte links aus, :---: zentriert sie und ---: richtet sie rechts aus.
Wie füge ich in einer Markdown-Tabellenzelle einen Zeilenumbruch ein?
Schreibe <br> an die Stelle, an der die Zeile umbrechen soll. Eine Pipe-Tabelle hat eine Zeile pro Tabellenzeile, daher funktionieren ein echter Zeilenumbruch oder eine Markdown-Liste in einer Zelle nicht.
Wie tippe ich einen senkrechten Strich in einer Tabellenzelle?
Maskiere ihn mit einem Backslash: \|. Das ist in normalem Text und in Inline-Code nötig.
Kann ich in einer Markdown-Tabelle Zellen verbinden?
Nein. GFM-Tabellen kennen weder colspan noch rowspan. Brauchst du verbundene Zellen, schreibe die Tabelle in HTML mit <table>, colspan und rowspan.