Help:Table: Difference between revisions

Xenwolf (talk | contribs)
Overthink (talk | contribs)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Wikipedia}}
Tables can be used to layout contents horizontally and vertically. Tables can be made sortable, columns may be aligned, cells may be combined. See the following examples.
Tables can be used to layout contents horizontally and vertically. Tables can be made sortable, columns may be aligned, cells may be combined. See the following examples.


:''For basic usage see [[Help:Editing #Tables]]''
For basic usage see [[Help:Editing#Tables]].


== Some Examples ==
== Some Examples ==
Line 9: Line 10:
Layout contents vertically and horizontally (without making obvious that you use tables for this). Using the exclamation mark (<code>!</code>) instead of the pipe symbol (<code>|</code>) center-aligns the cell text and sets it to '''bold''' face.
Layout contents vertically and horizontally (without making obvious that you use tables for this). Using the exclamation mark (<code>!</code>) instead of the pipe symbol (<code>|</code>) center-aligns the cell text and sets it to '''bold''' face.


<nowiki>{|  
<pre>
{|  
|-
! A
! A
! B
! B
Line 18: Line 21:
| x
| x
| xx
| xx
|}</nowiki>
|}
</pre>


{|  
{|  
|-
! A
! A
! B
! B
Line 32: Line 37:


=== Standard wiki table layout ===
=== Standard wiki table layout ===
A table with obvious heading style and decent lines to optically separate cells. You get this by adding <code>class="wikitable"</code> to the first line of the table.
A table with obvious heading style and decent lines to optically separate cells. You get this by adding <code>class="wikitable"</code> to the first line of the table.


<nowiki>{| class="wikitable"
<pre>
{| class="wikitable"
|-
! A
! A
! B
! B
Line 44: Line 50:
| x
| x
| xx
| xx
|}</nowiki>
|}
</pre>


{| class="wikitable"
{| class="wikitable"
|-
! A
! A
! B
! B
Line 58: Line 66:


=== Heading style for left and top cells ===
=== Heading style for left and top cells ===
Sometimes it's helpful to place the legend on the left side.
Sometimes it's helpful to place the legend on the left side.


<nowiki>{| class="wikitable"
<pre>
{| class="wikitable"
|-
! ??
! ??
! 1
! 1
Line 73: Line 82:
| b1
| b1
| b2
| b2
|}</nowiki>
|}
</pre>


{| class="wikitable"
{| class="wikitable"
|-
! ??
! ??
! 1
! 1
Line 90: Line 101:


=== Sortable tables ===
=== Sortable tables ===
Tables can be sorted automatically by adding the <code>sortable</code> class. If you wish to disable sorting for a column (typically description or comments) add <code>class="unsortable"</code> to the column heading.
Tables can be sorted automatically by adding the <code>sortable</code> class. If you wish to disable sorting for a column (typically description or comments) add <code>class="unsortable"</code> to the column heading.


<nowiki>{| class="wikitable sortable"
<pre>
{| class="wikitable sortable"
|-
! Steps per Octave !! Step Size  
! Steps per Octave !! Step Size  
! class="unsortable" | comments
! class="unsortable" | comments
Line 104: Line 116:
|-
|-
| 6  || 200 || Debussy loves it.
| 6  || 200 || Debussy loves it.
|}</nowiki>
|}</pre>


{| class="wikitable sortable"
{| class="wikitable sortable"
|-
! Steps per Octave !! Step Size  
! Steps per Octave !! Step Size  
! class="unsortable" | comments
! class="unsortable" | comments
Line 120: Line 133:


== Special needs ==
== Special needs ==
=== Table title or description ===
=== Table title or description ===
As to add a description or title to your table, use the pipe-plus combination <code><nowiki>|+</nowiki></code> at the beginning of the line. For better readability, you may add optional row separators (<code><nowiki>|-</nowiki></code>) around this line.


As to add a description or title to your table, use the pipe-plus combination <code>|+</code> at the beginning of the line. For better readability you may add an optional row separator (<code>|-</code>) in the following line.
<pre>
 
{| class="wikitable"
<nowiki>{| class="wikitable"
|+ Title or description
|+ title or description
|-
|-
! Heading A
! Heading A
Line 136: Line 148:
| Cell 3
| Cell 3
| Cell 4
| Cell 4
|}</nowiki>
|}
</pre>


{| class="wikitable"
{| class="wikitable"
|+ title or description
|+ Title or description
|-
|-
! Heading A
! Heading A
Line 152: Line 165:


=== Adjusting text alignment ===
=== Adjusting text alignment ===
If you want to override the default text alignment for all cells, add the class <code>"center-all"</code> to the <code>class="wikitable"</code> statement at beginning of the table.
If you want to override the default text alignment for all cells, add the class <code>"center-all"</code> to the <code>class="wikitable"</code> statement at beginning of the table.


==== for whole columns ====
==== For whole columns ====
 
Add a the appropriate class(es) to the <code>class="wikitable"</code> statement at beginning of the table. Their name starts with the alignment specification (<code>left</code>, <code>center</code>, or <code>right</code>) and a number (1 to 12) after a minus sign (<code>-</code>).
Add a the appropriate class(es) to the <code>class="wikitable"</code> statement at beginning of the table. Their name starts with the alignment specification (<code>left</code>, <code>center</code>, or <code>right</code>) and a number (1 to 12) after a minus sign (<code>-</code>).


To make the first column left-aligned, the second center-aligned, and the third right-aligned, add the classes <code>"left-1"</code>, <code>"center-2"</code>, and <code>"right-3"</code> to the <code>"wikitable"</code> class, separated by spaces:
To make the first column left-aligned, the second center-aligned, and the third right-aligned, add the classes <code>"left-1"</code>, <code>"center-2"</code>, and <code>"right-3"</code> to the <code>"wikitable"</code> class, separated by spaces:


<nowiki>{| class="wikitable left-1 center-2 right-3"
<pre>
{| class="wikitable left-1 center-2 right-3"
|-
|-
! Left-aligned
! Left-aligned
Line 175: Line 187:
| 123.456
| 123.456
|}
|}
</nowiki>
</pre>


{| class="wikitable left-1 center-2 right-3"
{| class="wikitable left-1 center-2 right-3"
Line 194: Line 206:
If you want to override the default text alignment (which is left) for the whole table,  use <code>"center-all"</code> or <code>"right-all"</code>.
If you want to override the default text alignment (which is left) for the whole table,  use <code>"center-all"</code> or <code>"right-all"</code>.


==== for single cells ====
==== For single cells ====
The table cells are left aligned by default, the heading cells are center aligned. You may change this via inline CSS style definitions:


The table cells are left aligned by default, the heading cells are center aligned. You may change this via inline CSS style definitions:
{| class="wikitable"
|-
! What you want for the cell
! What you do to get it
|-
| Left aligned text
| Nothing to do (if the default is "left-align", this is mostly the case)<ref>If a column has other then left-aligned text, for example by <code>class="... right-all"</code> (see above section(s)), cell-specific inline [[CSS]] will prioritized highest, and use <code>style{{=}}"text-align: left;" {{pipe}}</code></ref>
|-
| style="text-align:center;" | Centered text
| Place <code>style{{=}}"text-align: center;" {{pipe}}</code> after the opening pipe
|-
| style="text-align:right;" | Right aligned
| Place <code>style{{=}}"text-align: right;" {{pipe}}</code> after the opening pipe
|-
! Headline style
| Exclamation mark instead of the pipe symbol starts the cell
|}
 
<references />
 
=== Pipe symbols in cells ===
The pipe character is an important meta char to MediaWiki.
Especially in tables, where each cell can be decorated with its own class and style specification, it is hard to get the
pipe character displayed for what it is.  
[[Wikipedia:Help:Table#Rendering the pipe|Wikipedia's help page]] has some suggestions for coping with this issue. However, adding another pipe right after the initial pipe(s) also works:
 
{| class="wikitable"
|+ style="font-size: 105%;" | Compact syntax: one line per row
|-
! Wikitext
! Rendered output
|-
| <pre>
{| class="wikitable"
|-
!| A|X !!| B|Y
|-
|| 1|2 ||| 3|4
|}
</pre>
| {{(!}} class{{=}}"wikitable" style{{=}}"margin: auto auto auto auto;"
{{!-}}
!{{!}} A|X !!{{!}} B|Y
|-
{{!!}} 1|2 {{!}}{{!!}} 3|4
{{!)}}
|}


{| class="wikitable"
{| class="wikitable"
! what you want for the cell
|+ style="font-size: 105%;" | "Airy" syntax: one line per cell
! what you do to get it
|-
|-
| left aligned text
! Wikitext
| nothing to do (if the default is "left-align", this is mostly the case)<ref>If a column has other then left-aligned text, for example by <code>class="... right-all"</code> (see above section(s)), cell-specific inline [[CSS]] will prioritized highest</ref>
! Rendered output
|-
|-
| style="text-align:center;" | centered text
| <pre>
| place <code><nowiki>style="text-align:center;" |</nowiki></code> after the opening pipe
{| class="wikitable"
|-
|-
| style="text-align:right;" | right aligned
!| A|X
| place <code><nowiki>style="text-align:center;" |</nowiki></code> after the opening pipe
!| B|Y
|-
|-
! headline style
|| 1|2
| exclamation mark instead of the pipe symbol starts the cell
|| 3|4
|}
</pre>
| {{(!}} class{{=}}"wikitable" style{{=}}"margin: auto auto auto auto;"
{{!-}}
!{{!}} A{{!}}X
!{{!}} B{{!}}Y
{{!-}}
{{!!}} 1{{!}}2
{{!!}} 3{{!}}4
{{!)}}
|}
|}


<references/>
Alternatively, pipe characters can be escaped using {{tlx|!}} or {{tlx|pipe}}:
 
{| class="wikitable"
|+ style="font-size: 105%;" | Using escapes
|-
! Wikitext
! Rendered output
|-
| <pre>
{| class="wikitable"
|-
! A{{pipe}}X
! B{{pipe}}Y
|-
| 1{{pipe}}2
| 3{{pipe}}4
|}
</pre>
| {{(!}} class{{=}}"wikitable" style{{=}}"margin: auto auto auto auto;"
{{!-}}
! A{{pipe}}X
! B{{pipe}}Y
{{!-}}
{{!}} 1{{pipe}}2
{{!}} 3{{pipe}}4
{{!)}}
|}


== Combining table cells ==
== Combining table cells ==
todo: internal description of colspans and rowspans
todo: internal description of colspans and rowspans


Line 226: Line 319:
[http://www.tablesgenerator.com/mediawiki_tables Generate tables in MediaWiki format - TablesGenerator.com]
[http://www.tablesgenerator.com/mediawiki_tables Generate tables in MediaWiki format - TablesGenerator.com]


For example, this wiki markup
For example, this wiki markup:
<nowiki>
 
<pre>
{| class="wikitable"
{| class="wikitable"
|-
! colspan="3" | 1
! colspan="3" | 1
! 2
! 2
Line 243: Line 338:
| G
| G
| H
| H
|}</nowiki>
|}
</pre>


will be rendered into this table:
will be rendered into this table:


{| class="wikitable"
{| class="wikitable"
|-
! colspan="3" | 1
! colspan="3" | 1
! 2
! 2
Line 265: Line 362:


== See also ==
== See also ==
* [[Help:Help]]
* [[Help:Help]]
* [[Help:Editing]]
* [[Help:Editing]]


[[Category:Help]]
[[Category:Help]]
[[Category:Todo:add example|?]]
[[Category:Todo:add examples|?]]