Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
MainPage
Community portal
Recent changes
Random page
Help
Special pages
Donate
Search
Search
English
Appearance
Log in
Request account
Personal tools
Log in
Request account
Export translations
Translate
English
Language statistics
Message group statistics
Export
Tools
Tools
move to sidebar
hide
Actions
Language statistics
Message group statistics
Export
General
Printable version
In other projects
Appearance
move to sidebar
hide
Settings
Group
Category:Maintenance
Help:Blocking users
Help:Bots
Help:Categories
Help:Contents
Help:Deletion and undeletion
Help:Diff
Help:Editing pages
Help:ExpandTemplates
Help:Extension:ParserFunctions
Help:External searches
Help:Formatting
Help:Images
Help:Links
Help:Magic words
Help:Managing files
Help:Moving a page
Help:Namespaces
Help:Navigation
Help:Parser functions in templates
Help:Patrolled edits
Help:Preferences
Help:Protected pages
Help:Random page
Help:Random root page
Help:Range blocks
Help:Recent changes
Help:Redirects
Help:Skins
Help:Special pages
Help:Starting a new page
Help:Substitution
Help:System message
Help:Tables
Help:Talk pages
Help:TemplateData
Help:Templates
Help:TemplateStyles
Help:Tracking changes
Help:Undelete
Help:User contributions
Help:Watchlist
Help:What links here
Manual:Expr parser function syntax
Manual:Extending wiki markup
Manual:Hooks
Manual:Magic words
Manual:Messages API
Manual:Parser functions
Module:Arguments/doc
Module:Int/doc
Module:Message box/configuration/doc
Module:Message box/doc
Module:Template translation/doc
Module:Transcluder/doc
Module:Version/doc
Module:Yesno/doc
Parser extension tags
Parser function extensions
Project:Language policy
Template:Admin tip
Template:Advanced user manual
Template:Anontools
Template:ApiEx
Template:Autocat
Template:Auxiliary template common notice
Template:Branching
Template:Bugfix
Template:Bugzilla
Template:Button
Template:Candidate
Template:Caution
Template:Clarify
Template:Collapse top
Template:Component
Template:Deprecated-inline
Template:Description missing
Template:Distinguish
Template:Documentation
Template:Documentation subpage
Template:Done
Template:EmptyCatGood
Template:Escape template list
Template:Excerpt
Template:Extension development
Template:Fixtext
Template:For
Template:Further
Template:Help
Template:High-risk
Template:Historical
Template:I18n navigation
Template:In progress
Template:Intricate template
Template:Introduced-inline
Template:IRC
Template:Localized link
Template:Localized link/messagedoc
Template:Magic words
Template:Main
Template:MainPage
Template:Markup
Template:Markup/row
Template:Mbox templates
Template:Module rating
Template:Move
Template:MW version
Template:MW version/layout
Template:N/a
Template:Navbar
Template:Newarticletext
Template:No
Template:Not done
Template:Note
Template:Optional
Template:Parser functions nav
Template:Partially done
Template:PD Help Page
Template:Phabricator
Template:Ptag
Template:Purge
Template:Recentchangestext
Template:Removed-inline
Template:Required
Template:Rev
Template:Security
Template:See
Template:See also
Template:Sp-contributions-footer
Template:Sp-contributions-footer-anon
Template:Special page
Template:Template shortcut
Template:Template test cases notice
Template:TemplateData header
Template:Thankyou
Template:To do
Template:Tracked
Template:Translatable
Template:Translatable template name
Template:Unusedtemplatestext
Template:Update
Template:Used in system
Template:Watchlists navigation
Template:Why
Template:WikiNonStop News
Template:Yes
TemplateData
Language
aa - Afar
aae - Arbëresh
ab - Abkhazian
abr - Abron
abs - Ambonese Malay
ace - Acehnese
acf - Saint Lucian Creole
acm - Iraqi Arabic
ady - Adyghe
ady-cyrl - Adyghe (Cyrillic script)
aeb - Tunisian Arabic
aeb-arab - Tunisian Arabic (Arabic script)
aeb-latn - Tunisian Arabic (Latin script)
af - Afrikaans
aig - Antiguan and Barbudan Creole English
aln - Gheg Albanian
alt - Southern Altai
am - Amharic
ami - Amis
an - Aragonese
ang - Old English
ann - Obolo
anp - Angika
apc - Levantine Arabic
ar - Arabic
arc - Aramaic
arn - Mapuche
arq - Algerian Arabic
ary - Moroccan Arabic
arz - Egyptian Arabic
as - Assamese
ase - American Sign Language
ast - Asturian
atj - Atikamekw
av - Avaric
avk - Kotava
awa - Awadhi
ay - Aymara
az - Azerbaijani
azb - South Azerbaijani
ba - Bashkir
ban - Balinese
ban-bali - Balinese (Balinese script)
bar - Bavarian
bbc - Batak Toba
bbc-latn - Batak Toba (Latin script)
bcc - Southern Balochi
bci - Baoulé
bcl - Central Bikol
bdr - West Coast Bajau
be - Belarusian
be-tarask - Belarusian (Taraškievica orthography)
bew - Betawi
bg - Bulgarian
bgc - Haryanvi
bgn - Western Balochi
bh - Bhojpuri
bho - Bhojpuri
bi - Bislama
bjn - Banjar
blk - Pa'O
bm - Bambara
bn - Bangla
bo - Tibetan
bpy - Bishnupriya
bqi - Bakhtiari
br - Breton
brh - Brahui
bs - Bosnian
btm - Batak Mandailing
bto - Rinconada Bikol
bug - Buginese
bug-bugi - Buginese (Buginese script)
bxr - Russia Buriat
ca - Catalan
cbk-zam - Chavacano
ccp - Chakma
cdo - Mindong
cdo-hant - Mindong (Traditional Han script)
cdo-latn - Mindong (Latin script)
ce - Chechen
ceb - Cebuano
ch - Chamorro
chn - Chinook Jargon
cho - Choctaw
chr - Cherokee
chy - Cheyenne
ckb - Central Kurdish
co - Corsican
cop - Coptic
cps - Capiznon
cpx - Puxian
cpx-hans - Puxian (Simplified Han script)
cpx-hant - Puxian (Traditional Han script)
cpx-latn - Puxian (Latin script)
cr - Cree
crh - Crimean Tatar
crh-cyrl - Crimean Tatar (Cyrillic script)
crh-latn - Crimean Tatar (Latin script)
crh-ro - Dobrujan Tatar
cs - Czech
csb - Kashubian
cu - Church Slavic
cv - Chuvash
cy - Welsh
da - Danish
dag - Dagbani
de - German
de-at - Austrian German
de-ch - Swiss High German
de-formal - German (formal address)
dga - Southern Dagaare
din - Dinka
diq - Dimli
dlg - Dolgan
dsb - Lower Sorbian
dtp - Central Dusun
dty - Doteli
dua - Duala
dv - Divehi
dz - Dzongkha
ee - Ewe
efi - Efik
egl - Emilian
el - Greek
eml - Emiliano-Romagnolo
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - Spanish
es-419 - Latin American Spanish
es-formal - Spanish (formal address)
et - Estonian
eu - Basque
ext - Extremaduran
fa - Persian
fat - Fanti
ff - Fula
fi - Finnish
fit - Tornedalen Finnish
fj - Fijian
fo - Faroese
fon - Fon
fr - French
frc - Cajun French
frp - Arpitan
frr - Northern Frisian
fur - Friulian
fvr - Fur
fy - Western Frisian
ga - Irish
gaa - Ga
gag - Gagauz
gan - Gan
gan-hans - Gan (Simplified Han script)
gan-hant - Gan (Traditional Han script)
gcf - Guadeloupean Creole
gcr - Guianan Creole
gd - Scottish Gaelic
gl - Galician
gld - Nanai
glk - Gilaki
gn - Guarani
gom - Goan Konkani
gom-deva - Goan Konkani (Devanagari script)
gom-latn - Goan Konkani (Latin script)
gor - Gorontalo
got - Gothic
gpe - Ghanaian Pidgin
grc - Ancient Greek
gsw - Alemannic
gu - Gujarati
guc - Wayuu
gur - Frafra
guw - Gun
gv - Manx
ha - Hausa
hak - Hakka Chinese
hak-hans - Hakka (Simplified Han script)
hak-hant - Hakka (Traditional Han script)
hak-latn - Hakka (Latin script)
haw - Hawaiian
he - Hebrew
hi - Hindi
hif - Fiji Hindi
hif-latn - Fiji Hindi (Latin script)
hil - Hiligaynon
hke - Hunde
hno - Northern Hindko
ho - Hiri Motu
hoc-latn - Ho (Latin script)
hr - Croatian
hrx - Hunsrik
hsb - Upper Sorbian
hsn - Xiang
ht - Haitian Creole
hu - Hungarian
hu-formal - Hungarian (formal address)
hy - Armenian
hyw - Western Armenian
hz - Herero
ia - Interlingua
iba - Iban
ibb - Ibibio
id - Indonesian
ie - Interlingue
ig - Igbo
igl - Igala
ii - Sichuan Yi
ik - Inupiaq
ike-cans - Eastern Canadian (Aboriginal syllabics)
ike-latn - Eastern Canadian (Latin script)
ilo - Iloko
inh - Ingush
io - Ido
is - Icelandic
isv-cyrl - Interslavic (Cyrillic script)
isv-latn - Interslavic (Latin script)
it - Italian
iu - Inuktitut
ja - Japanese
jam - Jamaican Creole English
jbo - Lojban
jut - Jutish
jv - Javanese
ka - Georgian
kaa - Kara-Kalpak
kab - Kabyle
kai - Karekare
kaj - Jju
kbd - Kabardian
kbd-cyrl - Kabardian (Cyrillic script)
kbp - Kabiye
kcg - Tyap
kea - Kabuverdianu
kg - Kongo
kge - Komering
khw - Khowar
ki - Kikuyu
kiu - Kirmanjki
kj - Kuanyama
kjh - Khakas
kjp - Eastern Pwo
kk - Kazakh
kk-arab - Kazakh (Arabic script)
kk-cn - Kazakh (China)
kk-cyrl - Kazakh (Cyrillic script)
kk-kz - Kazakh (Kazakhstan)
kk-latn - Kazakh (Latin script)
kk-tr - Kazakh (Turkey)
kl - Kalaallisut
km - Khmer
kn - Kannada
knc - Central Kanuri
ko - Korean
ko-kp - Korean (North Korea)
koi - Komi-Permyak
kr - Kanuri
krc - Karachay-Balkar
kri - Krio
krj - Kinaray-a
krl - Karelian
ks - Kashmiri
ks-arab - Kashmiri (Arabic script)
ks-deva - Kashmiri (Devanagari script)
ksh - Colognian
ksw - S'gaw Karen
ku - Kurdish
ku-arab - Kurdish (Arabic script)
ku-latn - Kurdish (Latin script)
kum - Kumyk
kus - Kusaal
kv - Komi
kw - Cornish
ky - Kyrgyz
la - Latin
lad - Ladino
lb - Luxembourgish
lbe - Lak
lez - Lezghian
lfn - Lingua Franca Nova
lg - Ganda
li - Limburgish
lij - Ligurian
liv - Livonian
ljp - Lampung Api
lki - Laki
lld - Ladin
lmo - Lombard
ln - Lingala
lo - Lao
loz - Lozi
lrc - Northern Luri
lt - Lithuanian
ltg - Latgalian
lua - Luba-Lulua
lus - Mizo
luz - Southern Luri
lv - Latvian
lzh - Literary Chinese
lzz - Laz
mad - Madurese
mag - Magahi
mai - Maithili
map-bms - Banyumasan
mdf - Moksha
mg - Malagasy
mh - Marshallese
mhr - Eastern Mari
mi - Māori
min - Minangkabau
mk - Macedonian
ml - Malayalam
mn - Mongolian
mnc - Manchu
mnc-latn - Manchu (Latin script)
mnc-mong - Manchu (Mongolian script)
mni - Manipuri
mnw - Mon
mo - Moldovan
mos - Mossi
mr - Marathi
mrh - Mara
mrj - Western Mari
ms - Malay
ms-arab - Malay (Jawi script)
mt - Maltese
mui - Musi
mus - Muscogee
mwl - Mirandese
my - Burmese
myv - Erzya
mzn - Mazanderani
na - Nauru
nah - Nahuatl
nan - Minnan
nan-hant - Minnan (Traditional Han script)
nan-latn-pehoeji - Minnan (Pe̍h-ōe-jī)
nan-latn-tailo - Minnan (Tâi-lô)
nap - Neapolitan
nb - Norwegian Bokmål
nds - Low German
nds-nl - Low Saxon
ne - Nepali
new - Newari
ng - Ndonga
nia - Nias
nit - Southeastern Kolami
niu - Niuean
nl - Dutch
nl-informal - Dutch (informal address)
nmz - Nawdm
nn - Norwegian Nynorsk
no - Norwegian
nod - Northern Thai
nog - Nogai
nov - Novial
nqo - N’Ko
nr - South Ndebele
nrm - Norman
nso - Northern Sotho
nup - Nupe
nv - Navajo
ny - Nyanja
nyn - Nyankole
nyo - Nyoro
nys - Nyungar
oc - Occitan
ojb - Northwestern Ojibwa
olo - Livvi-Karelian
om - Oromo
or - Odia
os - Ossetic
pa - Punjabi
pag - Pangasinan
pam - Pampanga
pap - Papiamento
pap-aw - Papiamento (Aruba)
pcd - Picard
pcm - Nigerian Pidgin
pdc - Pennsylvania German
pdt - Plautdietsch
pfl - Palatine German
pi - Pali
pih - Pitcairn-Norfolk
pl - Polish
pms - Piedmontese
pnb - Western Punjabi
pnt - Pontic
prg - Prussian
ps - Pashto
pt - Portuguese
pt-br - Brazilian Portuguese
pwn - Paiwan
qqq - Message documentation
qu - Quechua
qug - Chimborazo Highland Quichua
rgn - Romagnol
rif - Riffian
rki - Arakanese
rm - Romansh
rmc - Carpathian Romani
rmy - Vlax Romani
rn - Rundi
ro - Romanian
roa-tara - Tarantino
rsk - Pannonian Rusyn
ru - Russian
rue - Rusyn
rup - Aromanian
ruq - Megleno-Romanian
ruq-cyrl - Megleno-Romanian (Cyrillic script)
ruq-latn - Megleno-Romanian (Latin script)
rut - Rutul
rw - Kinyarwanda
ryu - Okinawan
sa - Sanskrit
sah - Yakut
sas - Sasak
sat - Santali
sc - Sardinian
scn - Sicilian
sco - Scots
sd - Sindhi
sdc - Sassarese Sardinian
sdh - Southern Kurdish
se - Northern Sami
se-fi - Northern Sami (Finland)
se-no - Northern Sami (Norway)
se-se - Northern Sami (Sweden)
sei - Seri
ses - Koyraboro Senni
sg - Sango
sgs - Samogitian
sh - Serbo-Croatian
sh-cyrl - Serbo-Croatian (Cyrillic script)
sh-latn - Serbo-Croatian (Latin script)
shi - Tachelhit
shi-latn - Tachelhit (Latin script)
shi-tfng - Tachelhit (Tifinagh script)
shn - Shan
shy - Shawiya
shy-latn - Shawiya (Latin script)
si - Sinhala
simple - Simple English
sjd - Kildin Sami
sje - Pite Sami
sk - Slovak
skr - Saraiki
skr-arab - Saraiki (Arabic script)
sl - Slovenian
sli - Lower Silesian
sm - Samoan
sma - Southern Sami
smn - Inari Sami
sms - Skolt Sami
sn - Shona
so - Somali
sq - Albanian
sr - Serbian
sr-ec - Serbian (Cyrillic script)
sr-el - Serbian (Latin script)
srn - Sranan Tongo
sro - Campidanese Sardinian
ss - Swati
st - Southern Sotho
stq - Saterland Frisian
sty - Siberian Tatar
su - Sundanese
sv - Swedish
sw - Swahili
syl - Sylheti
szl - Silesian
szy - Sakizaya
ta - Tamil
tay - Atayal
tcy - Tulu
tdd - Tai Nuea
te - Telugu
tet - Tetum
tg - Tajik
tg-cyrl - Tajik (Cyrillic script)
tg-latn - Tajik (Latin script)
th - Thai
ti - Tigrinya
tig - Tigre
tk - Turkmen
tl - Tagalog
tly - Talysh
tly-cyrl - Talysh (Cyrillic script)
tn - Tswana
to - Tongan
tok - Toki Pona
tpi - Tok Pisin
tr - Turkish
tru - Turoyo
trv - Taroko
ts - Tsonga
tt - Tatar
tt-cyrl - Tatar (Cyrillic script)
tt-latn - Tatar (Latin script)
ttj - Tooro
tum - Tumbuka
tw - Twi
ty - Tahitian
tyv - Tuvinian
tzm - Central Atlas Tamazight
udm - Udmurt
ug - Uyghur
ug-arab - Uyghur (Arabic script)
ug-latn - Uyghur (Latin script)
uk - Ukrainian
ur - Urdu
uz - Uzbek
uz-cyrl - Uzbek (Cyrillic script)
uz-latn - Uzbek (Latin script)
ve - Venda
vec - Venetian
vep - Veps
vi - Vietnamese
vls - West Flemish
vmf - Main-Franconian
vmw - Makhuwa
vo - Volapük
vot - Votic
vro - Võro
wa - Walloon
wal - Wolaytta
war - Waray
wls - Wallisian
wlx - Wali
wo - Wolof
wuu - Wu
wuu-hans - Wu (Simplified Han script)
wuu-hant - Wu (Traditional Han script)
xal - Kalmyk
xh - Xhosa
xmf - Mingrelian
xsy - Saisiyat
yi - Yiddish
yo - Yoruba
yrl - Nheengatu
yua - Yucatec Maya
yue - Cantonese
yue-hans - Cantonese (Simplified Han script)
yue-hant - Cantonese (Traditional Han script)
za - Zhuang
zea - Zeelandic
zgh - Standard Moroccan Tamazight
zgh-latn - Standard Moroccan Tamazight (Latin script)
zh - Chinese
zh-cn - Chinese (China)
zh-hans - Simplified Chinese
zh-hant - Traditional Chinese
zh-hk - Chinese (Hong Kong)
zh-mo - Chinese (Macau)
zh-my - Chinese (Malaysia)
zh-sg - Chinese (Singapore)
zh-tw - Chinese (Taiwan)
zu - Zulu
Format
Export for off-line translation
Export in native format
Export in CSV format
Fetch
<languages/> {{PD Help Page}} :<span lang="en" dir="ltr" class="mw-content-ltr">''Tables'' redirects here; for information about database table structure, see {{ll|Manual:Database layout}}.</span> <span lang="en" dir="ltr" class="mw-content-ltr">'''Tables''' may be created in wiki pages.</span> <span lang="en" dir="ltr" class="mw-content-ltr">As a general rule, it is best to avoid using a table unless you need one.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Table markup often complicates page editing.</span><ref> <span lang="en" dir="ltr" class="mw-content-ltr">Tables can be created using either HTML table elements directly, or using wikicode formatting to define the table.</span> <span lang="en" dir="ltr" class="mw-content-ltr">HTML table elements and their use are well described on various web pages and will not be discussed here.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The benefit of wikicode is that the table is constructed of character symbols which tend to make it easier to perceive the table structure in the article editing view compared to HTML table elements.</span> </ref> <div lang="en" dir="ltr" class="mw-content-ltr"> == Wiki table markup summary == </div> {| class="wikitable" style="width:60%" |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>{|</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">'''table start''', ''required''</span> |- |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>|+</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">table '''caption''', ''optional;'' only between '''table start''' and '''table row'''</span> |- |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>|-</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">'''table row''', ''optional on first row''—wiki engine assumes the first row</span> |- |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>!</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">'''table header''' cell, ''optional.''</span> <span lang="en" dir="ltr" class="mw-content-ltr">Consecutive '''table header''' cells may be added on same line separated by double marks (<code>!!</code>) or start on new lines, each with its own single mark (<code>!</code>).</span> |- |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>|</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">'''table data''' cell, ''optional''.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Consecutive '''table data''' cells may be added on same line separated by double marks (<code><nowiki>||</nowiki></code>) or start on new lines, each with its own single mark (<code><nowiki>|</nowiki></code>).</span> |- |style="padding:10px; white-space:nowrap; font-size:large"| <nowiki>|}</nowiki> |style="padding:5px"| <span lang="en" dir="ltr" class="mw-content-ltr">'''table end''', ''required''</span> |} * <span lang="en" dir="ltr" class="mw-content-ltr">The above marks must '''start on a new line''' except the double <code>||</code> and <code>!!</code> for optionally adding consecutive cells to a line. However, blank spaces at the beginning of a line are ignored.</span> *'''<span lang="en" dir="ltr" class="mw-content-ltr">HTML attributes.</span>''' <span lang="en" dir="ltr" class="mw-content-ltr">Each mark, except table end, optionally accepts one or more HTML attributes.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Attributes must be on the same line as the mark.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Separate attributes from each other with a single space.</span> ** <span lang="en" dir="ltr" class="mw-content-ltr">Cells and caption (<code>|</code> or <code>||</code>, <code>!</code> or <code>!!</code>, and <code>|+</code>) hold content.</span> <span lang="en" dir="ltr" class="mw-content-ltr">So separate any attributes from content with a single pipe (<code>|</code>).</span> <span lang="en" dir="ltr" class="mw-content-ltr">Cell content may follow on same line or on following lines.</span> ** <span lang="en" dir="ltr" class="mw-content-ltr">Table and row marks (<code><nowiki>{|</nowiki></code> and <code>|-</code>) do not directly hold content.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Do ''not'' add pipe (<code>|</code>) after their optional attributes.</span> <span lang="en" dir="ltr" class="mw-content-ltr">If you erroneously add a pipe after attributes for the table mark or row mark the parser will delete it ''and'' your final attribute if it was touching the erroneous pipe!</span> * <span lang="en" dir="ltr" class="mw-content-ltr">'''Content''' may (a) follow its cell mark on the same line after any optional HTML attributes or (b) on lines below the cell mark.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Content that uses wiki markup that itself needs to start on a new line, such as lists, headings, or nested tables, must be on its own new line.</span> ** <span lang="en" dir="ltr" class="mw-content-ltr">'''Pipe character as content.'''</span> <span lang="en" dir="ltr" class="mw-content-ltr">To insert a pipe (<code>|</code>) character into a table, use the <syntaxhighlight lang=html inline><nowiki>|</nowiki></syntaxhighlight> escaping markup.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> ==Basics== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Create a table with editor toolbar === </div> <span lang="en" dir="ltr" class="mw-content-ltr">In wikitext editor, place the caret where you want to insert a table.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Then, in the toolbar, press <code>{{int|wikieditor-toolbar-section-advanced}}</code>, then choose <span style="white-space: nowrap;">[[File:OOjs UI icon table.svg|class=skin-invert-image]] {{int|wikieditor-toolbar-tool-table}}</span> button.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A dialog opens.</span> <span lang="en" dir="ltr" class="mw-content-ltr">From the dialog, you can choose whether to enable a table header row, to stylize the table with border and to make the table [[Special:MyLanguage/Help:Sortable tables|sortable]].</span> <span lang="en" dir="ltr" class="mw-content-ltr">A preview example is displayed.</span> <span lang="en" dir="ltr" class="mw-content-ltr">You can also set row and column counts you need. Then, press <code>{{int|wikieditor-toolbar-tool-table-insert}}</code> button.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> By default, the following code is generated: </div> <div style="display:flex"> <div style="width:45%; border:1px solid black; padding:0.5em"> <h5 style="text-align:center"><span lang="en" dir="ltr" class="mw-content-ltr">Wikicode:</span></h5> {<nowiki/>| class="wikitable" style="margin:auto" |+ {{int|wikieditor-toolbar-tool-table-example-caption}} |- ! {{int|wikieditor-toolbar-tool-table-example-header}} !! {{int|wikieditor-toolbar-tool-table-example-header}} !! {{int|wikieditor-toolbar-tool-table-example-header}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |} </div> <div style="width:45%; border:1px solid black; padding:0.5em; margin-left:2ex"> <h5 style="text-align:center; margin-bottom:1em"><span lang="en" dir="ltr" class="mw-content-ltr">Result:</span></h5> {| class="wikitable" style="margin:auto" |+ {{int|wikieditor-toolbar-tool-table-example-caption}} |- ! {{int|wikieditor-toolbar-tool-table-example-header}} !! {{int|wikieditor-toolbar-tool-table-example-header}} !! {{int|wikieditor-toolbar-tool-table-example-header}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |- | {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} || {{int|wikieditor-toolbar-tool-table-example}} |} </div> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Minimal syntax === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The following table lacks borders and good spacing but shows the simplest wiki markup table structure. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- |style="padding:5px"| <pre> {| | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} </pre> |style="padding:5px"| {| | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} |} <span lang="en" dir="ltr" class="mw-content-ltr">The cells in the same row can be listed on one line separated by <code>||</code> (two pipe symbols).</span> <span lang="en" dir="ltr" class="mw-content-ltr">If the text in the cell should contain a line break, use {{tag|br|single}} instead.</span> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- |style="padding:5px"| <pre> {| | Orange || Apple || more |- | Bread || Pie || more |- | Butter || Ice<br/>cream || and<br/>more |} </pre> |style="padding:5px"| {| | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> || <span lang="en" dir="ltr" class="mw-content-ltr">more</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> || <span lang="en" dir="ltr" class="mw-content-ltr">more</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Ice<br/>cream</span> || <span lang="en" dir="ltr" class="mw-content-ltr">and<br/>more</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> Extra spaces within cells in the wiki markup, as in the wiki markup below, do not affect the actual table rendering. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| | Orange || Apple || more |- | Bread || Pie || more |- | Butter || Ice cream || and more |} </pre> | style="padding: 5px;"| {| | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> || <span lang="en" dir="ltr" class="mw-content-ltr">more</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> || <span lang="en" dir="ltr" class="mw-content-ltr">more</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> || <span lang="en" dir="ltr" class="mw-content-ltr">and more</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> You can have longer text or more complex wiki syntax inside table cells, too: </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| |Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. | * Lorem ipsum dolor sit amet * consetetur sadipscing elitr * sed diam nonumy eirmod tempor invidunt |} </pre> | style="padding: 5px;"| {| |Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. | * Lorem ipsum dolor sit amet * consetetur sadipscing elitr * sed diam nonumy eirmod tempor invidunt |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> === Table headers === </div> <span lang="en" dir="ltr" class="mw-content-ltr">Table headers can be created by using "<code>!</code>" (exclamation mark) instead of "<code>|</code>" (pipe symbol).</span> <span lang="en" dir="ltr" class="mw-content-ltr">Headers usually show up bold and centered by default.</span> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| !style="text-align:left"| Item ! Amount ! Cost |- | Orange |10 |7.00 |- | Bread |4 |3.00 |- | Butter |1 |5.00 |- ! Total | |15.00 |} </pre> | style="padding: 5px;"| {| ! style="text-align:left;"| <span lang="en" dir="ltr" class="mw-content-ltr">Item</span> ! <span lang="en" dir="ltr" class="mw-content-ltr">Amount</span> ! <span lang="en" dir="ltr" class="mw-content-ltr">Cost</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> |10 |7.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> |4 |3.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> |1 |5.00 |- ! <span lang="en" dir="ltr" class="mw-content-ltr">Total</span> | |15.00 |} |} {{note|1=<span lang="en" dir="ltr" class="mw-content-ltr">When using attributes as in the heading 'Item' a vertical bar '<nowiki>|</nowiki>' is used for separation.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Not an exclamation character '!'.</span>}} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Caption=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> A '''table caption''' can be added to the top of any table as follows. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| |+Food complements |- | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} </pre> | style="padding: 5px;"| {| |+ <span lang="en" dir="ltr" class="mw-content-ltr">Food complements</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} |} === class="wikitable" === <div lang="en" dir="ltr" class="mw-content-ltr"> Basic styling (light gray background, borders, padding and align left) can be achieved by adding class="wikitable". </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" |+Food complements |- | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} </pre> | style="padding: 5px;"| {| class="wikitable" |+ <span lang="en" dir="ltr" class="mw-content-ltr">Food complements</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===HTML colspan and rowspan=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> You can use HTML '''colspan''' and '''rowspan''' attributes on cells for advanced layout. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" !colspan="6"| Shopping List |- |rowspan="2"| Bread & Butter | Pie | Buns | Danish |colspan="2"| Croissant |- | Cheese |colspan="2"| Ice cream | Butter | Yogurt |} </pre> | style="padding: 5px;"| {| class="wikitable" !colspan="6"| <span lang="en" dir="ltr" class="mw-content-ltr">Shopping List</span> |- |rowspan="2"| <span lang="en" dir="ltr" class="mw-content-ltr">Bread & Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Buns</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Danish</span> |colspan="2"| <span lang="en" dir="ltr" class="mw-content-ltr">Croissant</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Cheese</span> |colspan="2"| <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Yogurt</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> === Note about large tables (noresize class) === </div> <span lang="en" dir="ltr" class="mw-content-ltr">The use of the wrapping <code>div.noresize</code> will ensure your table is optimized for mobile and is extremely important for large tables e.g. tables with more than 4 columns or large columns.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Failure to use this element will cause your content to overlap UI elements e.g. the Vector 2022 sidebar or to break mobile display.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This will cause the table to have a horizontal scroll bar when the table is too big for the content.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> You type: </div> <pre> <div class="noresize"> {| class="wikitable" ! colspan="6" |Shopping List |- | rowspan="2" |Areallyreallyreallyreallylongstringwillcauseyourtableto | Pie | Buns | Danish | colspan="2" |Croissantsmaycausetexttoincreasethesizeofyourcolumnsoitbreaksoutofthecontent area if you do not wrap the table with noresize. |- | Cheese | colspan="2" |Ice cream | Butter | Yogurt |} </div> </pre> <div lang="en" dir="ltr" class="mw-content-ltr"> You get: </div> <div class="noresize"> {| class="wikitable" ! colspan="6" |Shopping List |- | rowspan="2" |Areallyreallyreallyreallylongstringwillcauseyourtableto | Pie | Buns | Danish | colspan="2" |Croissantsmaycausetexttoincreasethesizeofyourcolumnsoitbreaksoutofthecontent area if you do not wrap the table with noresize. |- | Cheese | colspan="2" |Ice cream | Butter | Yogurt |} </div> <div lang="en" dir="ltr" class="mw-content-ltr"> == HTML attributes == </div> <span lang="en" dir="ltr" class="mw-content-ltr">You can add '''HTML attributes''' to tables.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For the authoritative source on HTML attributes, see [https://www.w3.org/TR/html401/struct/tables.html the W3C's HTML Specification page on tables].</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Attributes on tables === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Placing attributes after the table start tag (<code>{|</code>) applies attributes to the entire table. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" style="text-align: center; color: green;" | Orange | Apple |12,333.00 |- | Bread | Pie |500.00 |- | Butter | Ice cream |1.00 |} </pre> | style="padding: 5px;"| {| class="wikitable" style="text-align: center; color: green;" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |12,333.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |500.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |1.00 |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> === Attributes on cells === </div> <span lang="en" dir="ltr" class="mw-content-ltr">You can put attributes on individual '''cells'''.</span> <span lang="en" dir="ltr" class="mw-content-ltr">For example, numbers may look better aligned right.</span> {| style="width:100%" ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" | Orange | Apple | style="text-align:right;" | 12,333.00 |- | Bread | Pie | style="text-align:right;" | 500.00 |- | Butter | Ice cream | style="text-align:right;" | 1.00 |} </pre> | style="padding: 5px;"| {| class="wikitable" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> | style="text-align:right;" | 12,333.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> | style="text-align:right;" | 500.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> | style="text-align:right;" | 1.00 |} |} <span lang="en" dir="ltr" class="mw-content-ltr">You can also use '''cell''' attributes when you are listing multiple '''cells''' on a single line.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Note that the '''cells''' are separated by <code>||</code>, and within each '''cell''' the attribute(s) and value are separated by <code>|</code>.</span> {| style="width:100%" ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" | Orange || Apple || style="text-align:right;" | 12,333.00 |- | Bread || Pie || style="text-align:right;" | 500.00 |- | Butter || Ice cream || style="text-align:right;" | 1.00 |} </pre> | style="padding: 5px;"| {| class="wikitable" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> || style="text-align:right;" | 12,333.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> || style="text-align:right;" | 500.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> || <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> || style="text-align:right;" | 1.00 |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Attributes on rows=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> You can put attributes on individual '''rows''', too. </div> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" | Orange | Apple | style="text-align:right;"| 12,333.00 |- | Bread | Pie | style="text-align:right;"| 500.00 |- style="font-style: italic; color: green;" | Butter | Ice cream | style="text-align:right;"| 1.00 |} </pre> | style="padding: 5px;"| {| class="wikitable" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> | style="text-align:right;"| 12,333.00 |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> | style="text-align:right;"| 500.00 |- style="font-style: italic; color: green;" | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> | style="text-align:right;"| 1.00 |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Attributes on caption and headers=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Attributes can be added to the caption and headers as follows. </div> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" |+ style="caption-side:bottom; color:#e76700;"|''Food complements'' |- !style="color:green"| Fruits !style="color:red"| Fats |- | Orange | Butter |- | Pear | Pie |- | Apple | Ice cream |} </pre> |style="padding:5px"| {| class="wikitable" |+ style="caption-side:bottom; color:#e76700;"|<span lang="en" dir="ltr" class="mw-content-ltr">''Food complements''</span> |- !style="color:green"| <span lang="en" dir="ltr" class="mw-content-ltr">Fruits</span> !style="color:red"| <span lang="en" dir="ltr" class="mw-content-ltr">Fats</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Pear</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Border width=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> If "border-width:" has only one number, it is for all four border sides: </div> {| style="width:100%" |- ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;" | <pre> {|style="border-style: solid; border-width: 20px" | Hello |} </pre> | style="padding: 20px;"| {|style="border-style: solid; border-width: 20px" | <span lang="en" dir="ltr" class="mw-content-ltr">Hello</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> If "border-width:" has more than one number, the four numbers are for '''top, right, bottom, left (REMEMBER clockwise order ↑→↓←)''': </div> {| style="width:100%" |- ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;" | <pre> {|style="border-style: solid; border-width: 10px 20px 100px 0" | Hello |} </pre> | style="padding: 20px;"| {|style="border-style: solid; border-width: 10px 20px 100px 0" | <span lang="en" dir="ltr" class="mw-content-ltr">Hello</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> :When there are fewer than 4 values : </div> :* <span lang="en" dir="ltr" class="mw-content-ltr">three values i.e. <code>top</code>, <code>right</code>, <code>bottom</code>: then the default value for <code>left</code> is the one of <code>right</code> (second value). Width is then the same on left and right side.</span> :* <span lang="en" dir="ltr" class="mw-content-ltr">two values i.e. <code>top</code>, <code>right</code>: then the default value for <code>bottom</code> is the one of <code>top</code> (first value), and <code>left</code> by default is assigned the value of <code>right</code> (second value). Width on top is then the same as on bottom; width on left is the same as on right.</span> :* <span lang="en" dir="ltr" class="mw-content-ltr">one value i.e. <code>top</code>: then the default value for <code>right</code> is the one of <code>top</code> and it is the same for <code>bottom</code> and <code>left</code>. The fourth width are the same and build a regular border. This is a writing shortcut.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> Another method to define the widths of the four sides of a cell is to use ''"border-left", "border-right", "border-top" and "border-bottom"'': </div> <div style="width: 100%; overflow:auto;"> {| style="width:100%" |- ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width:50%" | <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;" | <pre> {|style="border-left:solid 10px black;border-right:solid 20px black;border-top:solid 30px black;border-bottom:solid 40px black; margin:auto" | Hello |} </pre> | style="padding: 20px;"| {|style="border-left:solid 10px black;border-right:solid 20px black;border-top:solid 30px black;border-bottom:solid 40px black; margin:auto" | <span lang="en" dir="ltr" class="mw-content-ltr">Hello</span> |} |} </div> {{Note|1=<nowiki/> <span lang="en" dir="ltr" class="mw-content-ltr">The HTML attributes (such as "width=", "border=", "cellspacing=", "cellpadding=") do not need any length unit (the pixel unit is assumed).</span> <span lang="en" dir="ltr" class="mw-content-ltr">They are also invalid in HTML 5.</span> <span lang="en" dir="ltr" class="mw-content-ltr">"Cellpadding" is for setting the space between the cell wall and the cell content.</span><ref> [https://developer.mozilla.org/Web/HTML/Reference/Elements/table#cellpadding HTML table cellpadding Attribute] </ref> <div lang="en" dir="ltr" class="mw-content-ltr"> The CSS style properties (which override the HTML attributes) require an explicit length unit (if the value is not 0) such as "px" for the pixel. </div> }} <div lang="en" dir="ltr" class="mw-content-ltr"> ===With HTML attributes and CSS styles=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> {{ll|Manual:CSS|CSS}} style attributes can be added with or without other HTML attributes. </div> {| style="width:100%" !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> !style="width:50%"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- |style="padding:5px"| <pre> {| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10" | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} </pre> |style="padding:5px"| {| class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="10" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Padding=== </div> <span lang="en" dir="ltr" class="mw-content-ltr">It represents the internal margin between the contents and the border of the cell.</span> {| style="width:100%;" ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"| <span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |-style="vertical-align:top" | style="padding:10px" | <pre> {|class=wikitable | style="padding: 10px" | Example of style="padding:10px" |- | style="padding: 50px" | Example of style="padding:50px"<br/><br/>Specify the padding on '''EACH CELL''' |- | style="padding:100px" | Example of style="padding:100px" |} </pre> | {|class=wikitable | style="padding: 10px" | <span lang="en" dir="ltr" class="mw-content-ltr">Example of style="padding:10px"</span> |- | style="padding: 50px" | <span lang="en" dir="ltr" class="mw-content-ltr">Example of style="padding:50px"</span><br/><br/><span lang="en" dir="ltr" class="mw-content-ltr">Specify the padding on '''EACH CELL'''</span> |- | style="padding:100px" | <span lang="en" dir="ltr" class="mw-content-ltr">Example of style="padding:100px"</span> |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Column width=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> '''Column width''' can be added as follows. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> You type: </div> <pre> {| class="wikitable" style="width: 85%;" | colspan="2" | This column width is 85% of the screen width |- | style="width: 30%"| '''This column is 30% counted from 85% of the screen width''' | style="width: 70%"| '''This column is 70% counted from 85% of the screen width''' |} </pre> <div lang="en" dir="ltr" class="mw-content-ltr"> You get: </div> {| class="wikitable" style="width: 85%;" | colspan="2" | <span lang="en" dir="ltr" class="mw-content-ltr">This column width is 85% of the screen width</span> |- | style="width: 30%"| <span lang="en" dir="ltr" class="mw-content-ltr">'''This column is 30% counted from 85% of the screen width'''</span> | style="width: 70%"| <span lang="en" dir="ltr" class="mw-content-ltr">'''This column is 70% counted from 85% of the screen width'''</span> |} <div lang="en" dir="ltr" class="mw-content-ltr"> ===Accessibility of table header cells=== </div> <span lang="en" dir="ltr" class="mw-content-ltr">Table header cells do not explicitly specify which table data cells they apply to (those on their right on the same row, or those below them on the same column).</span> <span lang="en" dir="ltr" class="mw-content-ltr">When the table is rendered in a visual 2D environment, this is usually easy to infer.</span> <span lang="en" dir="ltr" class="mw-content-ltr">However when tables are rendered on non-visual media, you can help the browser to determine which table header cell applies to the description of any selected cell (in order to repeat its content in some accessibility helper) using a scope="row" or scope="col" attribute on table header cells.</span> <span lang="en" dir="ltr" class="mw-content-ltr">In most cases with simple tables, you'll use scope="col" on all header cells of the first row, and scope="row" on the first cell of the following rows:</span> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" |- ! scope="col"| Item ! scope="col"| Quantity ! scope="col"| Price |- ! scope="row"| Bread | 0.3 kg | $0.65 |- ! scope="row"| Butter | 0.125 kg | $1.25 |- ! scope="row" colspan="2"| Total | $1.90 |} </pre> | style="padding: 5px;"| {| class="wikitable" |- ! scope="col"| <span lang="en" dir="ltr" class="mw-content-ltr">Item</span> ! scope="col"| <span lang="en" dir="ltr" class="mw-content-ltr">Quantity</span> ! scope="col"| <span lang="en" dir="ltr" class="mw-content-ltr">Price</span> |- ! scope="row"| <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | 0.3 kg | $0.65 |- ! scope="row"| <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | 0.125 kg | $1.25 |- ! scope="row" colspan="2"| <span lang="en" dir="ltr" class="mw-content-ltr">Total</span> | $1.90 |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> == Alignment == </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Table alignment === </div> <span lang="en" dir="ltr" class="mw-content-ltr">Table alignment is achieved by using CSS.</span> <span lang="en" dir="ltr" class="mw-content-ltr">The table alignment is controlled by margins.</span> <span lang="en" dir="ltr" class="mw-content-ltr">A fixed margin on one side will make the table to be aligned to that side, if on the opposite side the margin is defined as ''auto''.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To have a table center aligned, you should set both margins to ''auto''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> For example, a right-aligned table: </div> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" style="margin-left: auto; margin-right: 0px;" | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. </pre> | style="padding: 5px;"| {| class="wikitable" style="margin-left: auto; margin-right: 0px;" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. |} <div lang="en" dir="ltr" class="mw-content-ltr"> And a center-aligned table: </div> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" style="margin: auto;" | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. </pre> | style="padding: 5px;"| {| class="wikitable" style="margin: auto;" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. |} <div lang="en" dir="ltr" class="mw-content-ltr"> === Table floating around text === </div> <span lang="en" dir="ltr" class="mw-content-ltr">If you align a table to the right or the left side of the page, the text that comes after the table starts at the end of it, leaving an empty space around the table.</span> <span lang="en" dir="ltr" class="mw-content-ltr">You can make the text to be wrapped around the table by making the table to ''float'' around the text instead of just aligning it.</span> <span lang="en" dir="ltr" class="mw-content-ltr">This can be achieved using the <code>float</code> CSS attribute, which can specify whether the table floats to the right side or to the left.</span> <span lang="en" dir="ltr" class="mw-content-ltr">When using ''float'', margins don't control table alignment and can be used to specify the margin between the table and the surrounding text.</span> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" style="float:right; margin-left: 10px;" | Orange | Apple |- | Bread | Pie |- | Butter | Ice cream |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </pre> | style="padding: 5px;"| {| class="wikitable" style="float:right; margin-left: 10px;" | <span lang="en" dir="ltr" class="mw-content-ltr">Orange</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Apple</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Bread</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Pie</span> |- | <span lang="en" dir="ltr" class="mw-content-ltr">Butter</span> | <span lang="en" dir="ltr" class="mw-content-ltr">Ice cream</span> |} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. |} <div lang="en" dir="ltr" class="mw-content-ltr"> === Cell contents alignment === </div> <span lang="en" dir="ltr" class="mw-content-ltr">The alignment of cell contents can be controlled with 2 different CSS properties: <code>text-align</code> and <code>vertical-align</code>.</span> <span lang="en" dir="ltr" class="mw-content-ltr"><code>text-align</code> can be specified at the table, row or individual cells, while <code>vertical-align</code> only can be specified at individual rows or cells.</span> {| style="width:100%" ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You type</span> ! style="width: 50%;"|<span lang="en" dir="ltr" class="mw-content-ltr">You get</span> |- | style="padding: 5px;"| <pre> {| class="wikitable" |- style="vertical-align:top;" | style="height:100px; width:100px; text-align:left;" | A | style="height:100px; width:100px; text-align:center;" | B | style="height:100px; width:100px; text-align:right;" | C |- style="vertical-align:middle;" | style="height:100px; width:100px; text-align:left;" | D | style="height:100px; width:100px; text-align:center;" | E | style="height:100px; width:100px; text-align:right;" | F |- style="vertical-align:bottom;" | style="height:100px; width:100px; text-align:left;" | G | style="height:100px; width:100px; text-align:center;" | H | style="height:100px; width:100px; text-align:right;" | I |} </pre> | style="padding: 5px;"| {| class="wikitable" |- style="vertical-align:top;" | style="height:100px; width:100px; text-align:left;" | A | style="height:100px; width:100px; text-align:center;" | B | style="height:100px; width:100px; text-align:right;" | C |- style="vertical-align:middle;" | style="height:100px; width:100px; text-align:left;" | D | style="height:100px; width:100px; text-align:center;" | E | style="height:100px; width:100px; text-align:right;" | F |- style="vertical-align:bottom;" | style="height:100px; width:100px; text-align:left;" | G | style="height:100px; width:100px; text-align:center;" | H | style="height:100px; width:100px; text-align:right;" | I |} |} <div lang="en" dir="ltr" class="mw-content-ltr"> ==Caveats== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ===Negative numbers=== </div> <span lang="en" dir="ltr" class="mw-content-ltr">If you start a cell on a new line with a negative number with a minus sign (or a parameter that evaluates to a negative number), your table can get broken, because the characters <code>|-</code> will be parsed as the wiki markup for table row, not table cell.</span> <span lang="en" dir="ltr" class="mw-content-ltr">To avoid this, insert a space before the value (<code>| -6</code>) or use in-line cell markup (<code>|| -6</code>).</span> <div lang="en" dir="ltr" class="mw-content-ltr"> ===CSS vs attributes=== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Table borders specified through CSS rather than the border attribute will render incorrectly in a small subset of text browsers. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ===Common attributes for columns, column groups and row groups=== </div> <span lang="en" dir="ltr" class="mw-content-ltr">The MediaWiki syntax for tables currently offers no support for specifying common attributes for columns (with the HTML element {{tag|col|single}}), column groups (HTML element {{tag|colgroup|content=}}) and row groups (HTML elements {{tag|thead|content=}}, {{tag|tbody|content=}} and {{tag|tfoot|content=}}).</span> <span lang="en" dir="ltr" class="mw-content-ltr">Those standard HTML elements are not accepted even in their HTML or XHTML syntax.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> All the rows and cells (header or data) of the table are rendered within a single implicit row group (HTML element {{tag|tbody|content=}}) without any attributes or styles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> == Tables and the Visual Editor (VE) == </div> :''<span lang="en" dir="ltr" class="mw-content-ltr">See also:</span> {{ll|Help:VisualEditor/User guide#Editing tables}}'' <span lang="en" dir="ltr" class="mw-content-ltr">See [[Phab: T108245]]: "Fully support basic table editing in the visual editor".</span> <span lang="en" dir="ltr" class="mw-content-ltr">See the list of tasks. Finished tasks are <s>struck</s>. It can be difficult to figure out from the technical language there what exactly has been improved, or what features have been added. Please add explanatory info below.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Can now move or delete columns and rows === </div> <span lang="en" dir="ltr" class="mw-content-ltr">Click on a column or row header.</span> <span lang="en" dir="ltr" class="mw-content-ltr">Then click on the arrow.</span> <span lang="en" dir="ltr" class="mw-content-ltr">From the popup menu click on "Move" or "Delete".</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Insert blank row or column === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> From the same popup menu click on "Insert". </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Copy table from web page to Visual Editor === </div> <span lang="en" dir="ltr" class="mw-content-ltr">It is possible to copy and paste a table from a web page directly into the [[w:WP:Visual Editor|Visual Editor]] (VE).</span> <span lang="en" dir="ltr" class="mw-content-ltr">To do so safely, use a sandbox and check the table for proper coding in wikitext source mode and proper display in the Visual Editor and in preview mode.</span> <div lang="en" dir="ltr" class="mw-content-ltr"> == Helping tools == </div> <div lang="en" dir="ltr" class="mw-content-ltr"> * [https://excel2wiki.toolforge.org/ Excel2Wiki] allows you to copy a spreadsheet from Excel, Apache OpenOffice, LibreOffice, or Gnumeric to convert it into wikicode table. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ==See also== </div> <div lang="en" dir="ltr" class="mw-content-ltr"> * [[Special:MyLanguage/Help:Sorting#Sorting rows of a table|Sorting rows of a table]] </div> <div lang="en" dir="ltr" class="mw-content-ltr"> * [[w:Help:Tables]] </div> <div lang="en" dir="ltr" class="mw-content-ltr"> * [http://www.tablesgenerator.com/mediawiki_tables A visual tool that helps generate tables] </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ==Notes== </div> <references/> [[Category:Help{{#translation:}}|Tables]]
Search
Search
Export translations
Add topic