Help:Table/Advanced#Colors in tables
{{Short description|How to create and use tables in markup}}
{{Table help}}
{{Wikipedia how to}}
{{shortcut|H:Table/A}}
{{Wiki markup}}
Tables can be used as formatting instrument, but consider using a multi column list instead.
Horizontal alignment in cells
By default, text is aligned to the left of data cells.
By default, text is aligned to the center of header cells.
All of the above is true in both desktop and mobile view.
The alignment of header text in tables with class=wikitable
stays centered regardless of global right or left text alignment via style=text-align:VALUE
on the top line of table wikitext.
Header text alignment in tables without class=wikitable follows the global text alignment of the table.
Text alignment set in individual cells overrides everything else.
= Aligning text in header cells versus other cells =
Note: For vertical alignment of text see: Help:Table#Vertical alignment in cells.
If there is no global text alignment set in the top line of the table wikitext, then all text is left aligned, except for header cells which are default center aligned.
Only in tables with class=wikitable
does the header cell text not follow the global text alignment set in the top line of the table wikitext.
When using class=wikitable
header text now stays centered in both desktop and mobile view unless specifically changed per header cell. This is true wherever the header row is located (top, bottom, middle). Global text alignment for non-header cells is done by putting style=text-align:VALUE
in the top line of the table wikitext. See example in the next section.
= Aligning the data in data columns to the right =
Both tables below use class=wikitable
The table to the right also aligns the text and data in all cells (except header cells) to the right.
class=wikitable
|+ Basic table | ||
Header | Header | Header |
---|---|---|
Text | data 12 | data 12 |
Text | data 123 | data 123 |
Text | data 1234 | data 1234 |
class=wikitable style=text-align:right
|+ style=text-align:right | ||
Header | Header | Header |
---|---|---|
Text | data 12 | data 12 |
Text | data 123 | data 123 |
Text | data 1234 | data 1234 |
If most columns consist of data cells, then you might choose to align the data to the right. It is easy.
Just add style=text-align:right
to the top line of the wikitext for the table:
:{| class=wikitable style=text-align:right
or
:{| class="wikitable sortable" style=text-align:right
and so on.
= Decimal point alignment =
There is no easy way to align a column of numbers so that the decimal points align. See multiple ways below.
One way to align columns of numbers at the decimal point is to use two columns, with the first right-justified and the second left-justified.
Wikitext
style="border-collapse: collapse;"
| style="text-align: right;" | 432 | .1 |
style="text-align: right;" | 43 | .21 |
style="text-align: right;" | 4 | .321 |
Rendered result
style="border-collapse: collapse;"
| style="text-align: right;" | 432 | .1 |
style="text-align: right;" | 43 | .21 |
style="text-align: right;" | 4 | .321 |
If the column of numbers appears in a table with cell padding or cell borders, you can still align the decimal points without an unsightly gap in the middle, by forcing the border and padding between those two columns off.
Wikitext
class=wikitable
!colspan=2| Heading |
style="text-align:right; border-right:none; padding-right:0;" | 432
| style="text-align:left; border-left: none; padding-left: 0;" | .1 |
style="text-align:right; border-right:none; padding-right:0;" | 43
| style="text-align:left; border-left: none; padding-left: 0;" | .21 |
style="text-align:right; border-right:none; padding-right:0;" | 4
| style="text-align:left; border-left: none; padding-left: 0;" | .321 |
Rendered result
class=wikitable
!colspan=2| Heading |
style="text-align:right; border-right:none; padding-right:0;" | 432
| style="text-align:left; border-left: none; padding-left: 0;" | .1 |
style="text-align:right; border-right:none; padding-right:0;" | 43
| style="text-align:left; border-left: none; padding-left: 0;" | .21 |
style="text-align:right; border-right:none; padding-right:0;" | 4
| style="text-align:left; border-left: none; padding-left: 0;" | .321 |
Or alternatively the {{tl|decimal cell}} template can be used:
Wikitext
class=wikitable
! colspan=2 |Heading |
{{decimal cell|432.1}} |
{{decimal cell|43.21}} |
{{decimal cell|4.321}} |
Rendered result
class=wikitable
!colspan=2 |Heading |
{{decimal cell|432.1}} |
{{decimal cell|43.21}} |
{{decimal cell|4.321}} |
Using two columns like this does have the disadvantage that searching the web page (either with a browser or a search engine) will usually not be able to find text that straddles the column boundary.
Also, if the table has cell spacing (and thus border-collapse=separate
), meaning that cells have separate borders with a gap in between, that gap will still be visible.
A cruder way to align columns of numbers is to use a figure space   or  
, which is intended to be the width of a numeral, though is font-dependent in practice:
Wikitext
432.1 |
43.21 |
4.321 |
Rendered result
432.1 |
43.21 |
4.321 |
More companions in this line are: punctuation space ({{Code| |html}}) to substitute a period or a comma, {{Code|−|html}} instead of the easily available on the typewriter's keyboard hyphen-dash – this is the same width as the plus sign, also figure dash possibly the most useful for telephone numbers which you obviously will not find on Wikipedia.
When using OpenType fonts one may also alternate between {{Code|font-variant-numeric:tabular-nums|css}} and {{Code|font-variant-numeric:proportional-nums|css}} – this is especially visible in the kerning of Arabic digit 〈1〉. In the standard browser sans-serif fonts 〈1〉 occupies the same width as other digits, ie. works as if {{Code|font-variant-numerals:tabular-nums|css}} was turned on.
Some may find {{Tl|0}} useful for the alignment.
As a last resort, when using pre-formatted text, you can dispense with the table feature entirely and simply start the lines with a space, and put spaces to position the numbers—however, there should be a good reason to use pre-formatted text in an article:
Wikitext (just spaces!):
432.1
43.21
4.321
Rendered result
432.1
43.21
4.321
= Column alignment =
{{tl|Table alignment}} can be used to align the cells in a whole column without adding code to each cell. For example, left aligning the first column, and center aligning the fourth column. And default aligning all other cells to the right:
:
{{Table alignment}}
class="wikitable sortable col1left col4center defaultright"
Place {| class="wikitable" ! classname ! Purpose | |
defaultleft | Align all table cells left by default |
defaultcenter | Align all table cells center by default |
defaultright | Align all table cells right by default |
colNleft | Align the cells in column N left, where N is a number |
colNcenter | Align the cells in column N center, where N is a number |
colNright | Align the cells in column N right, where N is a number |
The "col" classes never effect the header cells.
The "default" classes also effect the header cells if wikitable class is not used. With the wikitable class header cell content is always centered unless individually adjusted.
See template for more info, limitations, examples.
= Aligning the text in the first column to the left =
Template:Table alignment (see previous section) will not work on columns of row headers. There are some other limitations listed at Template:Table alignment. In these cases you can try the following method for the first column only.
This can be done in the wikitext source editor. In editing preferences check the box labeled: "enable the editing toolbar. This is sometimes called the '2010 wikitext editor'."
In the table section click "edit source" (wikitext editing). Click on "Advanced" in the editing toolbar. Then click on the "search and replace" icon on the right. In the popup form check the box for "Treat search string as a regular expression".
Fill in the "Search for" box with (\|-\n\|)
Fill in the "replace with" box with
:$1style=text-align:left|
Then click "Replace all". All the text in the first column will be aligned to the left of their cells.
If for some reason those cells are header cells, then fill in the "Search for" box with
:(\|-\n\!)
Note the exclamation point for a header cell. Fill in the "replace with" box with
:$1style=text-align:left|
Then click "Replace all".
Side by side tables
Note: See also [https://en.wikipedia.org/w/index.php?title=Together_Again_(Janet_Jackson_song)&oldid=1235924258#Charts this version] of Together Again (Janet Jackson song)#Charts. It uses {{t|col-begin}}, {{t|col-2}}, {{t|col-end}}.
You can place two or more tables side by side. But the tables must wrap (one dropping below the other) in narrow screens if horizontal scrolling is to be avoided. Narrow your browser window to see the tables below wrap. This works in mobile view too. Click on "mobile view" at the bottom of any Wikipedia page. These tables are adapted excerpts from versions of Iceland men's national handball team. Many sport articles have side by side tables.
{{Static row numbers}}
class="wikitable sortable static-row-numbers" border=1 style=text-align:right
|+ Total number of matches played in official competitions only. |
Player
!Matches !Goals |
---|
style=text-align:left|Guðmundur Hrafnkelsson
|407 |0 |
style=text-align:left|Guðjón Valur Sigurðsson
|364 |1,875 |
{{Static row numbers}}
class="wikitable sortable static-row-numbers" border=1 style=text-align:right
|+ Total number of goals scored in official matches only. |
Player
!Goals !Matches !Average |
---|
style=text-align:left|Guðjón Valur Sigurðsson
|1,875 |364 |5.15 |
style=text-align:left|Ólafur Stefánsson
|1,570 |330 |4.76 |
Here is the relevant wikitext below. More info [https://www.w3schools.com/jsref/prop_style_display.asp here]. A blind editor who uses a screen reader says [https://en.wikipedia.org/w/index.php?title=Wikipedia_talk%3AManual_of_Style%2FAccessibility&diff=1196667296&oldid=1196634188 this method is OK].
--Table--
--Table--
The code box below was created by adding the same div around the whole syntaxhightlight box:
--Table--
--Table--
Note that the space between the above handball tables happens because
: