für die Liste aller Seiten

Autoren (Grundlagen)

< Hochladen von Dateien | Dokumentations-Index | Tabellendirektiven >

Grundlagen zu Tabellen

Bei PmWiki gibt es zwei Arten von Formatierungsanweisungen für Tabellen. Die auf dieser Seite beschriebene Syntax ist nützlich, um einfache Tabellen mit vielen kleinen Zellen zu erzeugen. Die zweite verfügbare Syntax ist für Tabellen mit komplexen Zellinhalten geeignet. Weitere Möglichkeiten, Tabellen zu formatieren, finden sich in den Kochbuch-Rezepten Cookbook:RowspanInSimpleTables und Cookbook:FormattingTables (nur auf Englisch verfügbar).

Tabellen werden mit Hilfe des doppelten 'pipe'-Zeichens || definiert. (Auf deutschen Tastaturen befindet sich das 'pipe'-Zeichen in der Regel links unten auf der Taste mit den Zeichen '<' und '>'. Das 'pipe'-Zeichen lässt sich unter Windows oder Linux normalerweise durch gleichzeitiges Drücken der <AltGr>-Taste und der '<'-Taste erzeugen. Macintosh Nutzer verwenden Wahltaste+7.). Zeilen, die mit || beginnen, zeigen den Beginn einer Tabellenzeile an. Das Auftreten von || innerhalb einer Zeile markiert den Beginn einer neuen Tabellenzelle. Nachfolgende Tabelle enthält zur besseren Sichtbarkeit einen Rand (standardmäßig ist kein Rand sichtbar).

Die erste Zeile enthält Format-Kommandos für die Tabelle. Sie hat das doppelte 'Pipe'-Zeichen nur am Zeilenanfang.

Einfache Tabelle
|| border=1
|| Zelle 1 || Zelle 2 || Zelle 3 ||
|| Zelle 1 || Zelle 2 || Zelle 3 ||
Zelle 1Zelle 2Zelle 3
Zelle 1Zelle 2Zelle 3

Kopfzellen können gebildet werden, indem man ! als erstes Zeichen einer Zelle eingibt. Dies sind Tabellenköpfe, keine Überschriften, so daß !! und !!! keine Wirkung haben!

Tabellenköpfe
|| border=1
||! Zelle 1 ||! Zelle 2 ||! Zelle 3 ||
|| Zelle 1  ||  Zelle 2 ||  Zelle 3 ||
Zelle 1Zelle 2Zelle 3
Zelle 1Zelle 2Zelle 3

Tabellen können eine Beschriftung besitzen: ||!Beschriftung!||. Jede Beschriftung muss vor den anderen Zeilen der Tabelle eingefügt werden.

Tabellenbeschriftung
|| border=1
||! Eine besondere Tabelle !||
||! Zeile 1 ||! Zeile 2 ||! Zeile 3 ||
|| Zeile 1  ||  Zeile 2 ||  Zeile 3 ||
Eine besondere Tabelle
Zeile 1Zeile 2Zeile 3
Zeile 1Zeile 2Zeile 3

Formatierung von Zellinhalten

Zellinhalte dürfen links-, rechtsbündig oder zentriert sein.

  • Um Inhalte nach links auszurichten, wird der Zelleninhalt ohne Leerzeichen direkt rechts neben das führende || geschrieben.
  • Um Inhalte zu zentrieren, wird jeweils ein Leerzeichen vor und nach dem Zelleninhalt gesetzt.
  • Für die rechtsbündige Ausrichtung wird der Zelleninhalt ohne Leerzeichen direkt links neben das folgende || gestellt, wobei vor dem Zelleninhalt ein Leerzeichen eingetippt wird.
Ausrichtung der Zellen
|| border=1 width=100%
||!Zelle 1      ||! Zelle 2  ||!     Zelle 3||
||linksbündig   || zentriert || rechtsbündig||
Zelle 1Zelle 2Zelle 3
linksbündigzentriertrechtsbündig
Standardausrichtung der Zellen
|| border=1 width=100%
||!Zelle standard||!Zelle links ||
||bündig nach Standard||linksbündig ||
Zelle standardZelle links
bündig nach Standardlinksbündig

Es sei bemerkt, daß die Kopfzellen und die Einzelzellen verschiedene Voreinstellungen haben.

Eine Zelle überspannt mehrere Spalten, wenn der Zelle weitere leere Zellen folgen. (Zur Zeit existiert keine Syntax für das Überspannen von Zeilen.)

Überspannen von Spalten
|| border=1 width=100%
|| |||| rechte Spalte ||
|| || mittlere Spalte ||||
|| linke Spalte ||||||
|| linke Spalte || mittlere Spalte || rechte Spalte ||
 rechte Spalte
 mittlere Spalte
linke Spalte
linke Spaltemittlere Spalterechte Spalte

Tabelleneigenschaften

Jede Zeile, welche mit || beginnt, aber nicht mit || endet, setzt die Tabelleneigenschaften für eine folgende Tabelle. Diese Eigenschaften können Größe, Position, Rahmen, Hintergrundfarbe und die Zellenabstände in der Tabelle bestimmen. (Tatsächlich handelt es sich hier nur um die in den <table> Ausdruck gesetzten Standard-HTML-Eigenschaften.)

Mit dem width=-Attribut (in Prozent, als absoluter Wert oder als *) wird die Tabellenweite festgelegt.

Siehe auch $SimpleTableDefaultClassName.

Tabellenbreite
|| border=1 width=100% 
|| Zeile 1 || Zeile 2 || Zeile 3 ||
|| z1 || zeilezeilezeilezeile2 || zeile 3 ||
|| border=1 width=400px 
|| Zeile 1 || Zeile 2 || Zeile 3 ||
|| z1 || zeilezeilezeilezeile2 || zeile 3 ||
|| border=1 width=* 
|| Zeile 1 || Zeile 2 || Zeile 3 ||
|| z1 || zeilezeilezeilezeile2 || zeile 3 ||
Zeile 1Zeile 2Zeile 3
z1zeilezeilezeilezeile2zeile 3
Zeile 1Zeile 2Zeile 3
z1zeilezeilezeilezeile2zeile 3
Zeile 1Zeile 2Zeile 3
z1zeilezeilezeilezeile2zeile 3

Das border=-Attribut setzt die Größe der Tabellenränder.

Tabelle mit Rahmen
|| border=10 width=70% 
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig
Tabelle ohne Rahmen
|| border=0 width=70%
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Mit align=center, align=left, and align=right wird die Tabelle links-, rechtsbündig oder zentriert ausgerichtet. align=left und align=right erzeugen eine fließende (floating) Tabelle, so dass der Text um die Tabelle herumfließt.

Tabellenausrichtung: zentriert
|| border=1 align=center width=70%
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Eine mit [@align=center@] ausgerichtete Tabelle wird nicht vom Text umflossen.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Eine mit align=center ausgerichtete Tabelle wird nicht vom Text umflossen.

Tabellenausrichtung: linksbündig
|| border=1 align=left width=70%
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Der Text fließt rechts um die links ausgerichtete Tabelle.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Der Text fließt rechts um die links ausgerichtete Tabelle.

Tabellenausrichtung: rechtsbündig
|| border=1 align=right width=70%
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Der Text fließt links um die rechts ausgerichtete Tabelle.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Der Text fließt links um die rechts ausgerichtete Tabelle.

Zu beachten ist, dass man CSS benötigt, um eine Tabelle zwar linksbündig auszurichten, aber als nicht-fließendes Element festzulegen.

||style="margin-left:0px;"

Das bgcolor=-Attribute legt die Hintergrundfarbe fest. Im Moment können keine individuellen Farben für Zeilen oder Spalten in einer Tabelle festgelegt werden (siehe aber auch das Kochbuch-Rezept Cookbook:FormattingSimpleTables (nur auf Englisch verfügbar)).

|| border=1 align=center bgcolor=yellow
||!Zeile 1      ||! Zeile 2  ||!       Zeile 3||
||linksbündig || zentriert || rechtsbündig||
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Weitere Beispiele

Eine komplexere Tabelle
%define=sp padding-right:1em font-weight:bold%
|| border=1
|| [++Events Calendar++] ||||||||||
|| '''May 2005''' || '''June 2005''' || '''July 2005''' || '''August 2005''' || '''September 2005''' ||
||%sp%'''10'''%%6:30 - 8:30 Big Meeting[[<<]][[<<]]%sp%'''17'''%%7:00 - 8:30 Bigger Meeting[[<<]][[<<]]%sp%'''24'''%%7:00 - 8:30 Biggest Meeting|| || || || ||
|| '''October 2005''' || '''November 2005''' || '''December 2005''' || '''January 2006''' || '''February 2006''' ||
|| || || || || ||
Events Calendar
May 2005June 2005July 2005August 2005September 2005
106:30 - 8:30 Big Meeting

177:00 - 8:30 Bigger Meeting

247:00 - 8:30 Biggest Meeting
    
October 2005November 2005December 2005January 2006February 2006
     

FAQ

Wie erzeuge ich eine einfache Tabelle?

Tabellen werden unter Verwendung des doppelten 'Pipe'-Zeichens '||' erzeugt. Zeilen, die mit diesem Symbol beginnen, zeigen eine Tabellenzeile an; inerhalb solcher Zeilen wird das doppelte 'Pipe'-Zeichen benutzt, um Tabellenzellen zu begrenzen. In dem Beispiel hierunter sind Rahmen hinzugefügt zur Illustration (der Standard ist kein Rahmen).

Basic table
|| border=1 rules=rows frame=hsides
|| cell 1 || cell 2 || cell 3 ||
|| cell 1 || cell 2 || cell 3 ||
cell 1cell 2cell 3
cell 1cell 2cell 3

Wie erzeuge ich Spaltenköpfe?

Spaltenköpfe können erzeugt werden, indem man ein Aussrufezeichen an die erste Stelle einer Zelle setzt. Anmerkung: Dies sind Spaltenköpfe, keine Überschriften, '!!' oder '!!!' funktionieren nicht.

Table headers
|| border=1 rules=cols frame=vsides
||! cell 1 ||! cell 2 ||! cell 3 ||
|| cell 1  ||  cell 2 ||  cell 3 ||
cell 1cell 2cell 3
cell 1cell 2cell 3

Wie erhalte ich eine Tabelle mit dünnen Linien und mehr Abstand zum Inhalt?

"Dünne Linien" ist trickreich und browserabhängig, aber das Folgende funktioniert für Firefox und IE (Nov. 2009):

||border="1" cellpadding="10" style="border-collapse:collapse" width=66%
||!Spalte1 ||! Spalte2 ||!  Spalte3||
||Zellen   ||  mit     || 'Padding'||
||und      || dünnen   ||    Linien||
Spalte1Spalte2Spalte3
Zellenmit'Padding'
unddünnenLinien

Wie erzeuge ich eine erweiterte Tabelle?

Siehe unter Tabellendirektiven - komplexe Tabellen anlegen

Meine Tabellen sind standardmäßig zentriert. Wenn ich versuche, '||align=left' zu benutzen, werden sie nicht links ausgerichtet wie erwartet.

Sie benutzen vermutlich Firefox. Benutzen Sie ||style="margin-left:0px;" stattdessen.

Wie kann ich die Breite der Spalten angeben?

Sie können die Breite mit angepassten Stilen definieren, siehe Cookbook:FormattingTables und $TableCellAttrFmt. Fügen Sie in config.php ein:

$TableCellAttrFmt = 'class=col\$TableCellCount';

Und fügen Sie in pub/css/local.css hinzu :

table.column td.col1 { width: 120px; }
table.column td.col3 { width: 40px; }

Wie kann ich ein doppeltes 'Pipe'-Zeichen in einen Zelltext schreiben, wenn ich einfache Tabellen benutze?

Benutzen Sie &#124;&#124; um '||' als ein spezielles Zeichen anzuzeigen. Alternativ dazu könnten Sie die 'Pipe'-Zeichen auch von der Interpretation durch PmWiki ausnehmen, wie das generell für derartige Konflikte möglich ist, schreiben Sie [=||=], um '||' anzuzeigen.

Wie wendet man Stile auf Elemente einer Tabelle an wie eine ID für die Tabellenzeile, oder eine Klasse / einen Stil für TD?

siehe $WikiStyleApply.

für die Liste aller Seiten

< Hochladen von Dateien | Dokumentations-Index | Tabellendirektiven >


Übersetzung von PmWiki.Tables,   Originalseite auf PmWikiDe.Tables   —   Rückverweise

Zuletzt geändert:   PmWikiDe.Tablesam 12.07.2017
 PmWiki.Tablesam 02.07.2016



Impressum:

Niedersächsischer Turner-Bund e.V. (NTB)
Maschstraße 18
30169 Hannover
Tel. (0511) 980 97 - 0
Fax (0511) 980 97-12
E-Mail: info@NTBwelt.de
Internet: www.NTBwelt.de

Vertretungsberechtigter Vorstand nach § 26 BGB:
Heiner Bartling (Präsident), Lutz Alefsen, Clemens Reinhold,
Angelika Wolters, Christoph Hannig, Carsten Röhrbein,
Prof. Dr. Dörte Heüveldop
Registergericht: Amtsgericht Hannover
Vereinsnummer: VR 2162 USt-IdNr. DE115668848