跳转到内容

User:Liflon/Help:表格

维基百科,自由的百科全书

表格可以用多行多列的形式排列及整理內容。在維基百科的頁面裡,能用特殊的維基代碼製作表格,要自設表格的話也有許多樣式和竅門可以運用。

使用編輯工具欄

[编辑]
Vector介面下的工具欄(預設)
Monobook介面下的工具欄

按一下編輯工具欄英语Help:Edit toolbar裡的  或 (添加表格)便會自動增添表格。在工具欄找不到“添加表格”的按鈕的話,可依照這裡的說明增添這個按鈕。

按下“添加表格”後會加入左面的代碼,這段代碼會生成右面的表格:

{| class="wikitable"
|-
! 標題 !! 標題 !! 標題
|-
| 例子 || 例子 || 例子
|-
| 例子 || 例子 || 例子
|-
| 例子 || 例子 || 例子
|}
標題 標題 標題
例子 例子 例子
例子 例子 例子
例子 例子 例子

表格裡的佔位文字(“標題”、“例子”)應該替換成實際要添加的內容。

豎線符號系列代碼

[编辑]

儘管HTML的表格標記也能用,但使用維基代碼可以更快捷地製作表格。下面一系列含豎線符號的代碼和HTML表格標記的功能完全相同,所以你懂得運用後者的話,便很容易看明白前者。含豎線符號的代碼有這些:

  • 整個表格本身必須用花括號和豎線符號包圍著,在表格開頭用“{|”,結尾則用“|}”。這兩組代碼都必須自成一行:
{|
這是表格內容
|}
  • 要增添表格標題,可以在一行的開頭輸入豎線符號和加號“|+”並附上文字:
{|
|+ 表格標題
這是表格內容
|}
  • 要增添橫行,可以在新一行輸入豎線符號和連接號:“|-”。這個橫行裡的單元格的代碼要在再下一行輸入。
{|
|+ 表格標題
|-
這是一行的內容
|-
這是下一行的內容
|}
  • 在下一行輸入單元格的代碼,開頭要輸入豎線符號:
{|
|+ 表格標題
|-
| 這是單元格的內容
|-
| 這是下一行首個單元格的內容
| 這是下一個單元格的內容
|}
  • 單元格的分隔方式有幾種:換行加豎線符號、換行加兩個豎線符號,或者在同一行直接輸入兩個豎線符號“||”。這三種代碼的效果都一樣:
{|
|+ 表格標題
|-
|單元格1 || 單元格2 || 單元格3
|-
|單元格A
|單元格B
|單元格C
|}
  • 單元格的代碼裡如果有單獨出現的豎線符號的話,會有出乎意料的顯示效果。如果有代碼出現在一行的頭兩個豎線符號之間,或者有代碼前面是兩個豎線符號而後面是一個豎線符號的話,都會變成該橫行的格式代碼(可忽略)。再之後輸入的所有豎線符號則會視為單元格內容的一部分。下面這段代碼的效果大概不如你所預料:
{| border="1"
|-
|格式代碼(不會顯示) |這些內容 |(包括豎線符號在內) |全都會顯示在 |單元格1裡 ||單元格2
|-
|格式代碼 |後面這些內容 ||格式代碼|會顯示在 |單元格4裡
|}
這些內容 |(包括豎線符號在內) |全都會顯示在 |單元格1裡 單元格2
後面這些內容 會顯示在 |單元格4裡

不過格式代碼也有其用處:

{| border="1"
|-
| 單元格1(無格式代碼)
|-
| style="text-align:right;" | 單元格2(靠右對齊)
| style="background:#FFB6C1;" | 單元格3(紅底色)
|}
單元格1(無格式代碼)
單元格2(靠右對齊) 單元格3(紅底色)

謹記:每個單元格的代碼內單獨的豎線符號不可以出現超過兩次!

  • 要將單元格定義為直列表頭,可以將“|”替換為“! scope="col" |”,以及將“||”替換為“!! scope="col" |”。表頭單元格的顯示效果通常會與正常的單元格不同,實際效果視乎瀏覽器而定,不過往往會是粗體且居中對齊。在採用“class="wikitable"”等類別標記的維基格式表格裡,不需要加入“scope="col"”這段代碼。
{|
|+ 表格標題
! scope="col" | 直列表頭1
! scope="col" | 直列標題2
! scope="col" | 直列標題3
|-
| 單元格1 || 單元格2 || 單元格3
|-
| 單元格A
| 單元格B
| 單元格C
|}
  • 要將橫行的首個單元格定義為橫行表頭,可以將該行開頭的“|”替換為“! scope="row" |”,並且將同一行隨後的單元格移至下一行。在採用“class="wikitable"”等類別標記的維基格式表格裡,不需要加入“scope="row"”這段代碼。
{|
|+ 表格標題
! scope="col" | 直列表頭1
! scope="col" | 直列表頭2
! scope="col" | 直列表頭3
|-
! scope="row" | 橫行表頭1
| 單元格2 || 單元格3
|-
! scope="row" | 橫行表頭A
| 單元格B
| 單元格C
|}
  • 另外還有可選填的參數,可以對單元格、橫行或整個表格生效。例如可以為表格加邊框:
{| border="1"
|+ 表格標題
! scope="col" | 直列表頭1
! scope="col" | 直列表頭2
! scope="col" | 直列表頭3
|-
! scope="row" | 橫行表頭1
| 單元格2 || 單元格3
|-
! scope="row" | 橫行表頭A
| 單元格B
| 單元格C
|}
表格標題
直列表頭1 直列表頭2 直列表頭3
橫行表頭1 單元格2 單元格3
橫行表頭A 單元格B 單元格C

要將所有單元格的邊框寬度縮小至1像素的話,可以在表格首行加入一段代碼來指定:

{| border="1" style="border-collapse:collapse;"
|+ 表格標題
! scope="col" | 直列表頭1
! scope="col" | 直列表頭2
! scope="col" | 直列表頭3
|-
! scope="row" | 橫行表頭1
| 單元格2 || 單元格3
|-
! scope="row" | 橫行表頭A
| 單元格B
| 單元格C
|}
表格標題
直列表頭1 直列表頭2 直列表頭3
橫行表頭1 單元格2 單元格3
橫行表頭A 單元格B 單元格C

不過最簡單的方法是用維基百科的表格用外部樣式表,例如“class="wikitable"”。

{| border="1" class="wikitable"
|+ 表格標題
! 直列表頭1
! 直列表頭2
! 直列表頭3
|-
! 橫行表頭1
| 單元格2 || 單元格3
|-
! 橫行表頭A
| 單元格B
| 單元格C
|}
表格標題
直列表頭1 直列表頭2 直列表頭3
橫行表頭1 單元格2 單元格3
橫行表頭A 單元格B 單元格C

表格和單元格可用的參數與HTML的一樣,見www.w3.org/TR/html401/struct/tables.html#edef-TABLEHTML元素#表格,不過現時MediaWiki並不支援<colgroup><col>這兩個元素。Mediawiki從版本號1.18起會支援<thead><tbody><tfoot>。維基百科目前版本號是1.44.0-wmf.8 (f08e6b3)。

即使所有單元格都不填上內容,表格仍然有其用處。例如可以用參數來更改單元格的底色,將表格變成圖表,見元維基的8 × 8五格骨牌範例。與真正的圖像相比,用表格製成的“圖像”較容易修改。

每一行的單元格數目必須和其餘橫行一樣,這樣子表格裡直列的數目才會保持一致。如果要將單元格置空,應該輸入不換行空格&nbsp;”,以確保這個單元格依然會顯示出來。要在單元格裡顯示豎線符號的話,輸入“<nowiki>|</nowiki>”或者“&#124;”。

運用“colspan”和“rowspan”可以將不同直列或橫行的單元格合併,見下面的混雜形式示例。不過要注意這樣做的壞處是表格會無法正常地進行排序英语Help:Sorting

範例

[编辑]

最簡單的表格

[编辑]

簡約風格

[编辑]

以下兩組代碼的效果相同,可因應每行有多少個單元格、每個單元格內有多少內容來決定用哪一種代碼為佳。留意顯示效果,這個表格是沒有邊框的:

{|
| A
| B
|-
| C
| D
|}
{|
| A || B
|-
| C || D
|}
A B
C D

乘數表

[编辑]

留意以下示例使用了“class="wikitable"”調用維基百科的表格用外部樣式表,調整表格的外觀。這段代碼添加了邊框和底色,並且將表頭文字變成了粗體。

{| class="wikitable" style="text-align:center; width:200px; height:200px;"
|+ 乘數表
|-
! ×
! 1
! 2
! 3
|-
! 1
| 1 || 2 || 3
|-
! 2
| 2 || 4 || 6
|-
! 3
| 3 || 6 || 9
|-
! 4
| 4 || 8 || 12
|-
! 5
| 5 || 10 || 15
|}
乘數表
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

表格設定

[编辑]

寬度與高度

[编辑]

表格整體的寬度和高度以及每行的行高全都可以指定。要指定直列的列寬,只需要指定該列任一單元格的寬度就可以。如果有一些直列的列寬或者有一些橫行的行高沒有特別指定的話,就會陷入不明狀態,實際效果視乎瀏覽器而定。

{| style="width:60%; height:200px" border="1"</span>
|-
| abc || def || ghi
|- style="height:100px;"</span>
| jkl || style="width:200px;" |mno || pqr
|-
| stu || vwx || yz
|}
abc def ghi
jkl mno pqr
stu vwx yz

要注意在某些瀏覽器裡像“style="width:75%;"”這樣的文內CSS會無法生效。如果要確保代碼的兼容性,像“width="75%"”這種擁有同等功能的舊式寫法可能會在較多的瀏覽器裡生效。

邊框

[编辑]

表格的邊框預設為一種複雜且有底色的雙行線(這是HTML的預設),不過也可以利用格式參數(例如“style="border:1px solid darkgray"”)將邊框改為一條窄小的實線,例子如下。(注意:在設定邊框的同時也想指定單元格邊距(cellpadding)或單元格間距(cellspacing)的話,就必須運用以下格式。

{| cellpadding="2" style="border:1px solid darkgray;"
! width="140" | 左
! width="150" | 中
! width="130" | 右
|- border="0"
| [[File:StarIconBronze.png|120px]]
| [[File:StarIconGold.png|120px|這是滑鼠游標停留在圖片上時會出現的文字]]
| [[File:StarIconGreen.png|120px|綠色星星]]
|- align="center"
| 棕色星星 || 金色星星 || 綠色星星
|}
這是滑鼠游標停留在圖片上時會出現的文字 綠色星星
棕色星星 金色星星 綠色星星

留意最後一行的文字用“align="center"”改為居中對齊,但星星圖片並無居中。

上面的“File:”代碼只要不輸入thumb參數的話,便不會在表格裡顯示圖片標題(除非滑鼠游標停留在圖片上)。這裡的邊框顏色“darkgray”與條目裡的普通表格和信息框的一樣,不過也可以換成其他顏色名稱(例如“style="border:1px solid darkgreen;"”)或十六進制編碼(例如“

  1. DDCCBB”)。

直列的格式代碼(以豎線符號“|……|”包圍的內容)可以輸入格式參數,指定每個單元格的邊框樣式,例子如下:

{| cellpadding="2" style="border:1px solid darkgray;"
! width="140" | 左
! width="150" | 中
! width="130" | 右
|- align="center"
| style="border:1px solid blue;"|</span> [[File:StarIconBronze.png|120px]]
| style="border:1px solid #777777;"|</span> [[File:StarIconGold.png|120px|這是滑鼠游標停留在圖片上時會出現的文字]]
| style="border:1px solid #22AA55;"| [[File:StarIconGreen.png|120px|綠色星星]]
|- align="center"
| 棕色星星 || 金色星星 || 綠色星星
|}
這是滑鼠游標停留在圖片上時會出現的文字 綠色星星
棕色星星 金色星星 綠色星星

留意只有放了圖片的單元格才有個別的邊框,放了文字的單元格並沒有。

十六進制編碼中越小的就越接近黑色(例如“

  1. 616161”)。同一表格內的邊框通常會採用同一種顏色。

表格定位

[编辑]

表格本身、橫行的內容和單元格的內容的定位全都可以調校,但沒有參數可以同時指定表格裡所有內容應如何定位。見元維基上的表格範例

2009年4月之前曾一度建議不要用“float”(浮動)來指定表格的定位,不過現在在大字體狀態下“float”也不一定會破壞頁面的顯示效果。在下面的“居中的浮動圖片”章節可以看到浮動圖片的顯示效果。

表格浮動

[编辑]

floatleftfloatright(區分大小寫)這兩個表格類別可以讓表格浮動,同時調整外邊距(margin),讓表格不會緊貼週圍的文字。floatleft會讓表格向左浮動並調整右外邊距;floatright則相反。例子如下:

本段落出現於表格之前。因為格式代碼“rowspan=2”會讓第2列裡的文字佔用兩個橫行,因此第2行沒有出現“第2列”的文字,只有“第1列”和“第3列”。
{| class="wikitable floatright"
| 第1列第1行
| rowspan="2" | 第2列第1(及第2)行
| 第3列第1行
|-
| 第1列第2行
| 第3列第2行
|}
{| class="wikitable floatleft"
| 第1列第1行
| rowspan="2" | 第2列第1(及第2)行
| 第3列第1行
|-
| 第1列第2行
| 第3列第2行
|}
本文為測試文字……

本段落出現於表格之前。因為格式代碼“rowspan=2”會讓第2列裡的文字佔用兩個橫行,因此第2行沒有出現“第2列”的文字,只有“第1列”和“第3列”。

第1列第1行 第2列第1(及第2)行 第3列第1行
第1列第2行 第3列第2行
第1列第1行 第2列第1(及第2)行 第3列第1行
第1列第2行 第3列第2行

本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。

表格居中

[编辑]

表格可以居中定位,但並不意味著同時也會“浮動”;即是說,文字並不會就此出現於表格兩邊。竅門是要使用“{| style="margin:1em auto 1em auto;"”這段代碼。

表格之前的文字……
{| class="wikitable" style="margin:1em auto 1em auto;"
|+ '''單元格靠左對齊,表格居中'''
! scope="col" | Duis
! scope="col" | aute
! scope="col" | irure
|-
| dolor  || in reprehenderit || in voluptate velit
|-
| esse cillum dolore || eu fugiat nulla || pariatur.
|}
……表格之後的文字

表格之前的文字……

單元格靠左對齊,表格居中
Duis aute irure
dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur.

……表格之後的文字

嵌套表格

[编辑]

下面的示例將七個不同的表格(藍色)嵌套了在另一個表格的單元格內。表格|A|和|B|B|自動變成直向排列,但是單元格裡的文字正常應該橫向排列。表格|C|和|D|則利用了“float”,在單元格內各自擺放於一邊。同樣的方法也可用在圖表上。嵌套表格的代碼必須在換行後才能輸入。

{| border="1"
| α
| style="text-align:center;"| 單元格2
{| border="2" style="background:#ABCDEF;" <!--
  嵌套表格的代碼必須在換行後才能輸入 -->
| 嵌套
|-
| 表格
|}
| style="vertical-align:bottom;"| 回到原來的表格
| style="width:100px;" |
{| border="2" style="background:#ABCDEF;"
| A
|}
{| border="2" style="background:#ABCDEF;"
| B || B
|}
| style="width:50px;" |
{| border="2" style="background:#ABCDEF; float:left;"
| C
|}
{| border="2" style="background:#ABCDEF; float:right;"
| D
|}
|}
α 單元格2
嵌套
表格
回到原來的表格
A
B B
C
D

捲動表格

[编辑]

表格可以整個放進捲動列表裡,這樣的話新的橫行出現於熒幕上時舊的也會同時消失。條目內容應該在不同的瀏覽介面上都能輕鬆取閱,但因為捲動表格會隱藏部分內容,所以Wikipedia:格式手冊 (捲動列表)不建議在條目名字空間內使用捲動表格,不過在維基百科別的名字空間內則允許。

<div style="width:75%; height:10em; overflow:auto; border:2px solid #088;">
{| style="width:75%; height:200px" border="1"
|-
| abc || def || ghi
|- style="height:100px;"
| jkl || style="width:200px;" | mno || pqr
|-
| stu || vwx || yz
|}
</div>
abc def ghi
jkl mno pqr
stu vwx yz

顏色及參數有效範圍

[编辑]

下面列出了指定單元格裡文字和背景顏色英语Help:Using colours的兩種方法:

{|
| style="background:red; color:white" | abc
| def
| bgcolor="red" | <span style="color:white;"> ghi </span>
| jkl
|}
abc def ghi jkl

和其他參數一樣,也可以對一整行或者整個表格指定顏色,對橫行指定的參數優先於表格的參數,而對單元格指定的參數也會凌駕橫行的參數。(留意沒有任何簡易的方法可以對一整個直列指定顏色,只可以對直列裡的每個單元格逐個指定。可考慮使用編輯工具解決。)

{| style="background:yellow; color:green"
|-
| stu || style="background:silver" | vwx || yz
|- style="background:red; color:white"
| stu || style="background:silver" | vwx || yz
|-
| stu || style="background:silver" | vwx || yz
|}
stu vwx yz
stu vwx yz
stu vwx yz

要讓表格和頁面背景看起來一致的話,可以用“style="background:none;"”或者“style="background:transparent;"”。(注意:“style="background:inherit;"”在某些瀏覽器裡無法生效,包括IE6!)

要強制讓單元格的顏色變得和class="wikitable"模板裡的預設顏色一樣的話,可以將“style="background:

  1. f2f2f2"”用於較深色的表頭文字,而較淺色的主體文字則使用“style="background:
  2. f9f9f9"”。

另見:en:Wikipedia:Background color顏色列表網頁顏色以及Template:Coltit

單元格設定

[编辑]

參數

[编辑]

在單元格的開頭可以輸入參數,之後要加上豎線符號,例如“style="background:red;"|”會將單元格的底色設為紅色。要指定更多參數的話,記得在各參數之間留有空格。

{| style="color:white"
|-
| style="background:red;"|單元格1
| style="width:300px; background:blue;"|單元格2
| style="background:green;"|單元格3
|}
單元格1 單元格2 單元格3

垂直對齊

[编辑]

表格內容在垂直對齊方面預設為居中,於是看上去會有一點奇怪:

{| border="1" cellpadding="2" style="width:400px;"
|-
! scope="row" style="width:10%;"| 橫行表頭
| style="width:70%;"|較長的文字:本文為測試文字……
| style="width:20%;"|較短的文字
|-
! scope="row" | 橫行表頭
| 本文為測試文字……
| 較短的文字
|}
橫行表頭 較長的文字:本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。 較短的文字
橫行表頭 本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。
試想像讀者從頁面頂部看起,先看見直列“空空如也”的頂部,大概會不明白為甚麼是這樣子。用“valign=top”就可以讓文字與直列的頂部對齊。
較短的文字

要避免這種情況的話,可以將“valign="top"”參數應用於橫行(不過要逐行指定)。

{| border="1" cellpadding="2" style="width:400px;"
|- valign="top"
! scope="row" style="width:10%;" | 橫行表頭
| style="width:70%;"|較長的文字:本文為測試文字……
| style="width:20%;"|較短的文字
|- valign="top"
! scope="row" | 橫行表頭
| 本文為測試文字……
| 較短的文字
|}
橫行表頭 較長的文字:本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。 較短的文字
橫行表頭 本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。
試想像讀者從頁面頂部看起,先看見直列“空空如也”的頂部,大概會不明白為甚麼是這樣子。用“valign=top”就可以讓文字與直列的頂部對齊。
較短的文字

內容縮進

[编辑]

單元格的內容可以用CSS樣式“padding-left”縮進。

{| border="1" cellpadding="2" width="300px"
|-
| 沒有縮進的單元格內容:本文為測試文字……
|-
| style="padding-left:2em" | 已縮進的內容:本文為測試文字……
|}
沒有縮進的單元格內容:本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。
已縮進的內容:本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。

橫行設定

[编辑]

行高

[编辑]

邊框

[编辑]

水平對齊

[编辑]

直列設定

[编辑]

列寬

[编辑]

直列的列寬預設為該列裡最寬內容的寬度,要強制指定列寬的話,可參考以下示例。留意文字會自動換行。

{| border="1" cellpadding="2"
! scope="col" style="width:50px;" | 名稱
! scope="col" style="width:225px;" | 效用
! scope="col" style="width:225px;" | 見於哪幾款遊戲?
|-
| 精靈球 || 普通精靈球 || 所有版本
|-
| 超級球 || 比普通精靈球更佳 || 所有版本
|}
名稱 效用 見於哪幾款遊戲?
精靈球 普通精靈球 所有版本
超級球 比普通精靈球更佳 所有版本

要在沒有直列表頭的表格裡指定列寬的話,可以在每列的首個單元格裡設定寬度。

{| border="1" cellpadding="2"
|-
| style="width:100pt;" | 本列寬度為100點
| style="width:200pt;" | 本列寬度為200點
| style="width:300pt;" | 本列寬度為300點
|-
| blah || blih || bluh
|}
本列寬度為100點 本列寬度為200點 本列寬度為300點
blah blih bluh

另外也可以用百分比來指定,例如要將表格分成兩個均等的直列,可以把其中一個列寬指定為“width:50%”。指定列寬的其中一個用處是可以將排列在一起的表格的直列對齊:

國家 首都
荷蘭 阿姆斯特丹
國家 首都
法國 巴黎

防止自動換行

[编辑]

在寬度橫跨整個頁面的表格裡,一些較窄的單元格內的文字常常會自動換行。要讓一整個直列都不再自動換行的話,可以在該列最寬或者內容最長的單元格裡(不可以是表頭單元格)用“style="white-space:nowrap"”,這樣子會對整個直列都有效。

不使用“nowrap”時,顯示如下: 使用“nowrap”後,會顯示為:
每集名稱 日期 摘要
啟程 2010年1月1日 本文為測試文字……
劇集進擊時 2010年1月8日 本文為測試文字……
再見 2010年1月15日 本文為測試文字……
每集名稱 日期 摘要
啟程 2010年1月1日 本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。
劇集進擊時 2010年1月8日 本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。
再見 2010年1月15日 本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。本文为測試文字。这段文字用于说明格式,请勿删除。這段文字用於說明格式,請勿刪除。海納百川,有容乃大。維基百科,自由的百科全書。

進階範例

[编辑]

混雜形式

[编辑]

以下是個更深入的例子,展示了更多製作表格時可用的功能。不過要留意一點,使用“colspan”和“rowspan”合併單元格後,表格會無法正常地進行排序

用戶可以自行製作表格試驗以下功能,看一看會得到甚麼效果。這些技巧並非在所有情況下都適用,舉例來說,即使可以添加底色也不代表每次都應該這麼做。表格代碼應盡量保持簡潔,方便其他也在編輯條目的人。總而言之,下面的例子說明了製作表格時可以達到何種效果。

居中表格之前的文字……
{| border="1" cellpadding="5" cellspacing="0" align="center"
|+ '''表格範例'''
|-
! style="background:#efefef;" | 表頭1
! colspan="2" style="background:#ffdead;" | 表頭2
|-
| 左上
| &nbsp;
| rowspan="2" style="border-bottom:3px solid grey;" valign="top" | 右邊
|-
| style="border-bottom:3px solid grey;" | 左下
| style="border-bottom:3px solid grey;" | 中下
|-
| colspan="3" align="center" | 嵌套表格之前的文字……
{| border="0"
|+ ''表格裡的表格''
|-
| align="center" width="150" | [[File:Wiki.png]]
| align="center" width="150" | [[File:Wiki zh-hans.png]]
|-
| align="center" colspan="2" style="border-top:1px solid red;<!--
--> border-right:1px solid red; border-bottom:2px solid red;<!--
--> border-left:1px solid red;" | 兩個維基百科的標誌
|}
……嵌套表格之後的文字
|}
……居中表格之後的文字

居中表格之前的文字……

表格範例
表頭1 表頭2
左上   右邊
左下 中下
嵌套表格之前的文字……
表格裡的表格
兩個維基百科的標誌

……嵌套表格之後的文字

……居中表格之後的文字

居中的浮動圖片

[编辑]

表格可以用來包圍圖片,這樣的話就能向頁面中間浮動(例如用“style="float:right;"”),不過表格的外邊距、邊框和字體大小都必須與圖片的正常顯示方式吻合。“File:”代碼的thumb縮圖參數(雖然在自動縮圖時寬度會按用戶設定而定)會強制性地添加頗大的左外邊距,擠走週圍的文字,所以可以用center參數來抑制這個左外邊距製造的空白。不過有時候“center”會將圖片標題擠到下一行去(在居中的框“[]”下面),所以也可以略去“thumb”,改為直接指定圖片大小、添加灰色(

  1. BBB)邊框。用準確的參數來符合其他圖片的顯示方式的話,可以製成以下的浮動圖片表格:
{| style="float:right; border:1px solid #BBB; margin:.46em 0 0 .2em;"
|- style="font-size:86%;"
| valign="top" |[[File:DuraEuropos-TempleOfBel.jpg|180px]]<!--
--><br />(浮動的)[[柏爾 (神話)|]]神殿
|}

浮動表格裡的文字字體大小指定為“style="font-size:86%;"”。這個圖片表格就和正常的圖片框一樣,也會浮動,不過同時容許調整圖片的左外邊距(見下面的浮動圖片示例)。

信息框A
有了這個信息框範例便可以看到旁邊的浮動圖片框如何向中間靠攏。

(浮動的)柏爾神殿
這個表格週圍的虛線框代表用了“thumb|right”參數的圖片週圍隱含著的外邊距。

圖片標題可以略去,或者可以移除thumb參數,隱藏標題,直到滑鼠游標停留在圖片上時才顯示。不巧的是,(用來顯示圖片標題的)thumb參數同時也負責自動縮圖功能,會將圖片縮小至用戶設定的大小。要隱藏標題同時保留自動縮圖功能的話,可以將“|thumb|”替換為“|frameless|right|”。

圖片如果指定了left參數,就會有頗大的右外邊距(即是和right參數的左外邊距剛好相反),所以要向左浮動的話就需要將圖片放在表格裡,表格指定為“style="float:left; margin:0.46em 0.2em"”。

別忘記,在圖片表格以外的時候,right參數會令圖片定位在信息框上面或者下面,但就算不會在信息框旁邊浮動。

謹記這條“優先法則”:首先是指定了“right|”的信息框或圖片,然後是浮動圖片表格,最後如果還有空位的話便是包圍著這些物件的文字。假如第一個字太長,就不會有任何文字可以填補左邊的空隙,所以要小心避免製造這種“鋸齒狀的左邊空白”,即是說浮動表格旁邊剩下的空位塞不下任何文字。

如果有好幾個單項圖片表格堆疊在一起的話,這些表格會在頁面上浮動並按頁面寬度定位。週圍的文字會被擠壓,在自動定位的情況下把這些浮動表格盡量塞進去,到最後左邊還能塞下文字的話便放進去並自動換行。


……逐個塞到這一邊來

……全都按float:right……

這些圖片……

自動定位這一點可以用來建立圖片的“浮動展示廊”:一組共20個浮動表格,可以像文字填塞空間般一個一個先從右至左、再從上而下地排列在頁面裡(留意是從右至左,和正常方向相反)。要循正常方向(即從左至右)定位的話,可以指定表格頂部的參數為“style="float:left; margin:0.46em 0.2em"”,將所有的浮動表格變為向左浮動。只要活用多個浮動圖片,就能在文字週圍做到更彈性的圖片排版效果。

兼用colspan和rowspan

[编辑]
{| border="1" cellpadding="5" cellspacing="0"
|-
| 第1列 || 第2列 || 第3列
|-
| rowspan="2" | A
| colspan="2" style="text-align:center;" | B
|-
| C <!-- 單元格A已佔用第1列 -->
| D
|-
| E
| rowspan="2" colspan="2" style="text-align:center;" |F
|-
| G <!-- 單元格F已佔用第2和第3列 -->
|-
| colspan="3" style="text-align:center;" | H
|}
第1列 第2列 第3列
A B
C D
E F
G
H

留意對單元格G用“rowspan="2"”加上對單元格F用“rowspan="3"”並不會在GF下面再增添一行,因為這樣做的話該行所有(隱含的)單元格都是置空的。同理,如果同一直列的單元格統統都是空的,就整列都不會顯示。非置空和置空的單元格之間的邊框也可能不會顯示(視乎瀏覽器而定),所以在空的單元格裡要用“&nbsp;”作佔位內容。

特定問題的解決方法

[编辑]

對齊小數點

[编辑]

下面這個方法可以讓一列數字的小數點對齊:

{| cellpadding="0" cellspacing="0"
| align="right" | 432 || .1
|-
| align="right" | 43 || .21
|-
| align="right" | 4 || .321
|}
432 .1
43 .21
4 .321

即使這一列數字是在含有單元格邊距(cellpadding)或單元格間矩(cellspacing)的表格裡,還是可以在對齊小數點的同時也避免中間出現礙眼的空隙。在每個數字所出現的單元格裡各自再嵌入一個表格,並指定列寬,這些列寬必須全部一樣。(假如用這個方法還是無法對齊小數點,最外層的表格可能是列寬太小了。如果是因為這樣的話,就用參數指定將列寬加大。)

{| border="1" cellpadding="4" cellspacing="2"
|
{| cellpadding="0" cellspacing="0" style="width:100px;"
|-
| style="text-align:right; width:50%;" | 432 || .1
|}
|-
|
{| cellpadding="0" cellspacing="0" style="width:100px;"
|-
| style="text-align:right; width:50%;" | 43 || .21
|}
|-
|
{| cellpadding="0" cellspacing="0" style="width:100px;"
|-
| style="text-align:right; width:50%;" | 4 || .321
|}
|}
432 .1
43 .21
4 .321

如果是預格式化文字的話,甚至可以摒棄表格,只需要每行用空格開頭,然後用空格來排列數字:

代碼(只是用了空格!): 顯示為:
432.1
43.21
4.321
432.1
43.21
4.321

不過要留意的是,在條目裡要用預格式化的文字的話最好有充分的理由。

表格居中

[编辑]

類別

[编辑]

在表格代碼第一行的“{|”後面,除了可以直接指定樣式外,還可以指定類別。這些類別同樣可以用來設置樣式。這些類別的樣式可以用好幾種方法指定:

  • 在維基百科的軟件裡指定,不同的皮膚(介面)可以有不同的樣式(例如sortable類別)
  • MediaWiki:Common.css裡,會對該特定維基的全部用戶生效(例如在英文維基及其他維基計劃抑或曾有過、抑或現在仍保留著的wikitable類別,這個類別後來移到shared.css
  • 在不同的皮膚(介面)裡分別指定,譬如MediaWiki:Monobook.css
  • 在同一個維基裡每個用戶在自己的用戶空間子頁指定
  • 每個用戶在自己的電腦裡指定,但用於表格的類別在所有網頁中均一併指定

在“{|”後面指定適當類別的話,就不用再記住要輸入哪一些表格參數。這樣做會讓表格的樣式變得統一,想修正樣式問題或者同時修改使用同一類別的多個表格,只需要修改類別本身就可以。

只要套用“class="wikitable"”,便會把表格的文內CSS替換掉…… ……變成這樣
{| cellpadding="2"
|+ 乘數表
|-
! scope="col" | ×
! scope="col" | 1
! scope="col" | 2
! scope="col" | 3
|-
! scope="row" | 1
| 1 || 2 || 3
|-
! scope="row" | 2
| 2 || 4 || 6
|-
! scope="row" | 3
| 3 || 6 || 9
|-
! scope="row" | 4
| 4 || 8 || 12
|-
! scope="row" | 5
| 5 || 10 || 15
|}
乘數表
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15
{|
|+ 乘數表
|-
! scope="col" | ×
! scope="col" | 1
! scope="col" | 2
! scope="col" | 3
|-
! scope="row" | 1
| 1 || 2 || 3
|-
! scope="row" | 2
| 2 || 4 || 6
|-
! scope="row" | 3
| 3 || 6 || 9
|-
! scope="row" | 4
| 4 || 8 || 12
|-
! scope="row" | 5
| 5 || 10 || 15
|}
乘數表
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

這是因為MediaWiki:Common.css裡的wikitable類別含有幾項名為“table.wikitable”的CSS樣式規則。只要將表格指定為這個類別,這些樣式規則便統統會應用於表格上。之後可以按需要再添加其他樣式規則,這些規則會凌駕於類別所指定的那一批,讓你可以在類別樣式的基礎上再隨意疊加其他樣式。

{| class="wikitable" style="font-style:italic; <!--
-->font-size:120%; border:3px dashed red;"
|+ 乘數表
|-
! scope="col" | ×
! scope="col" | 1
! scope="col" | 2
! scope="col" | 3
|-
! scope="row" | 1
| 1 || 2 || 3
|-
! scope="row" | 2
| 2 || 4 || 6
|-
! scope="row" | 3
| 3 || 6 || 9
|-
! scope="row" | 4
| 4 || 8 || 12
|-
! scope="row" | 5
| 5 || 10 || 15
|}
乘數表
× 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
4 4 8 12
5 5 10 15

留意上面的表格雖然保留了wikitable類別的灰色底色,表頭文字也仍然是粗體且居中,但是文字格式已經被表格本身的style聲明優先指定了。現在表格裡所有的文字都變成了斜體、字體比原來的大了20%,wikitable類別本來指定的外框也變成了紅色的虛線框。

當然,這只有在支援文內CSS的瀏覽器裡才會有效。如果要確保一定生效的話,可以用XHTML標記(例如用“<big>”代替“font-size:120%”)或者維基代碼(例如用“''text''”代替“font-style:italic”)。

摺疊表格

[编辑]

類別也可以用來將表格摺疊起來,讓表格內容預設為隱藏。用collapsible類別就可以啟用摺疊功能。指定為“collapsible”的表格預設為張開的狀態,想改作別的顯示狀態的話,可以再加上collapsed或者autocollapse類別(後者是指,除了這個表格之外同一頁面還有超過三個摺疊表格的話,這個表格就用摺疊狀態顯示)。摺疊表格必須含有表頭橫行,因為“顯示”和“隱藏”連結會顯示在這一行裡。例子如下:

{| class="wikitable collapsible collapsed"
! 表頭文字
|-
| 預設為隱藏的內容
|-
| 更多會隱藏的內容
|}

mw-collapsible類別

[编辑]

另外還可以用這兩組代碼(在MediaWiki版本號1.19rc1下可使用無誤,見testwiki:User:Krinkle/CollapsingTestpageMw):

{| class="wikitable sortable mw-collapsible"
…
|}
表頭文字
預設為顯示的內容
更多會顯示的內容
{| class="wikitable sortable mw-collapsible mw-collapsed"
…
|}
表頭文字
預設為隱藏的內容
更多會隱藏的內容

排序

[编辑]

要啟用表格的排序功能,可以添加“class="sortable"”這段代碼,詳見Help:排序英语Help:Sorting。排序功能用處極大,所以在製作表格時最好謹記這項功能有甚麼是可以做到和無法做到的,例如:

  • 不要用橫跨數行的子標題來將表格細分,而是應該將這些子標題放到另一個直列裡,在每行簡短地展示。
  • 同樣地,不要添加橫跨數列的內容,而是應該在每一列簡短地重複一次這些內容。
  • 如果要將數字排在同一直列裡的話,不要在這些數字前面或後面添加像“ca.”般的文字,因為會破壞數字排序。如果有直列採用了數字排序的話,不要在這個直列的任何一個單元格裡放置文字或字母。盡量別在單元格裡放置數值範圍(例如“35,000–50,000”)。雖然在數字排序模式下這樣做不會影響到排序結果,因為會按每個單元格內的首個數字排序,但是用完這個直列或者其他直列排序後,要是這種含非數字內容的單元格變成在最頂端的話,就會令排序模式變成字母排序。所以應該將這些文字放在另外的直列裡。想更彈性地解決這個問題的話,可以添加隱藏排序索引,配合字母排序模式使用。

縮略內容可以在表格以外用索引的形式完整展示。

{| class="wikitable sortable" border="1"
|+ 可排序的表格
|-
! scope="col" | 字母排序
! scope="col" | 數字排序
! scope="col" | 日期排序
! scope="col" class="unsortable" | 不可排序
|-
| d || 20 || 2008-11-24 || 這個
|-
| b || 8 || 2004-03-01 || 直列
|-
| a || 6 || 1979-07-23 || 設定為
|-
| c || 4 || 1492-12-08 || 不可
|-
| e || 0 || 1601-08-13 || 排序
|}
可排序的表格
字母排序 數字排序 日期排序 不可排序
d 20 2008-11-24 這個
b 8 2004-03-01 直列
a 6 1979-07-23 設定為
c 4 1492-12-08 不可
e 0 1601-08-13 排序

數字及年份排序的問題

[编辑]

參見Help:排序英语Help:Sorting

排序兼摺疊

[编辑]

可排序表格也可以同時設定為可摺疊,只需要用“{| class="wikitable sortable collapsible"”這段代碼。將上面的表格設為可摺疊的話會變成下面這樣:

{| class="wikitable sortable collapsible" border="1"
|+ 可排序兼可摺疊的表格
|-
! scope="col" | 字母排序
! scope="col" | 數字排序
! scope="col" | 日期排序
! scope="col" class="unsortable" | 不可排序
|-
| d || 20 || 2008-11-24 || 這個
|-
| b || 8 || 2004-03-01 || 直列
|-
| a || 6 || 1979-07-23 || 設定為
|-
| c || 4 || 1492-12-08 || 不可
|-
| e || 0 || 1601-08-13 || 排序
|}
可排序兼可摺疊的表格
字母排序 數字排序 日期排序 不可排序
d 20 2008-11-24 這個
b 8 2004-03-01 直列
a 6 1979-07-23 設定為
c 4 1492-12-08 不可
e 0 1601-08-13 排序

想將表格預設為摺疊狀態的話,可以將“{| class="wikitable sortable collapsible collapsed"”改成“{| class="wikitable sortable collapsible"”。

指向表格中特定橫行的章節連結或地圖連結

[编辑]

要將章節連結(或地圖裡的連結)指向表格中的特定橫行的話,可以在該橫行開頭的“|-”後加上“id="section link anchor name"”這個參數,添加HTML錨

|- id="章節連結的名稱"

注意錨的名稱不能與同一頁的其他錨重複(也包括各章節標題),以免得出不合規格的XHTML。

地圖連結指向表格中特定橫行的範例

在按下地圖裡含連結的國家名稱時,例如代碼為“[[#Table_row_11|斯洛文尼亞]]”的連結,因為這個連結指向表格中代碼為“|- id="Table_row_11"”的錨,於是會捲動頁面,將目標橫行顯示在最上面。

在國家名稱上按一下便會捲動旁邊的表格,
將該國資料顯示在表格頂端
  
  按各國人口中Avaaz組織成員所佔的百分比排列
     本表格可以手動捲動或用左面的地圖連結捲動
    # |          國家 |           人口 |    Avaaz |  百分比(以顏色區分)
         
1 安道爾 85,000 3,316   3.90
2 盧森堡 498,000 14,228   2.86
3 法國 64,768,000 1,827,517   2.82
4 比利時 10,423,000 292,530   2.81
5 冰島 309,000 7,667 2.48
6 瑞士 7,623,000 182,814 2.40
7 馬耳他 407,000 9,129 2.24
8 奧地利 8,214,000 167,132 2.03
9 列支敦斯登 36,000 718 1.99
10 西班牙 46,506,000 810,680 1.74
11 斯洛文尼亞 2,003,000 27,780 1.39
12 瑞典 9,074,000 125,248 1.38
13 德國 81,644,000 1,082,972 1.33
14 意大利 60,749,000 796,634 1.31
15 愛爾蘭 4,623,000 58,504 1.27
16 英國 62,348,000 781,025 1.25
17 葡萄牙 10,736,000 132,219 1.23
18 荷蘭 16,574,000 191,608 1.16
19 羅馬尼亞 21,959,000 211,867 0.96
20 挪威 4,676,000 36,483 0.78
21 丹麥 5,516,000 41,377 0.75
22 保加利亞 7,149,000 52,296 0.73
23 希臘 10,750,000 78,874 0.73
24 拉脫維亞 2,218,000 14,967 0.67
25 愛沙尼亞 1,291,000 8,535 0.66
26 克羅地亞 4,487,000 28,950 0.65
27 立陶宛 3,545,000 21,721 0.61
28 芬蘭 5,255,000 28,836 0.55
29 匈牙利 9,992,000 51,684 0.52
30 波蘭 38,464,000 162,643 0.42
31 斯洛伐克 5,470,000 22,588 0.41
32 捷克 10,202,000 39,358 0.39
33 馬其頓 2,072,000 3847 0.19
34 波黑 4,622,000 8,436 0.18
35 塞爾維亞 7,345,000 12,369 0.17
36 黑山 667,000 1,101 0.17
37 阿爾巴尼亞 2,987,000 3,300 0.11
38 摩爾多瓦 3,732,000 2,134 0.06
39 俄羅斯 139,390,000 62,932 0.05
40 白俄羅斯 9,613,000 2,643 0.03
41 烏克蘭 45,416,000 13,002 0.03
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

橫行模板

[编辑]

不管是用維基代碼還是用HTML製作的表格也好,表格裡每個橫行的代碼都會十分類似(有時甚至不同的表格也是這樣)。相似的地方有:

  • 表格橫行的基本代碼
  • 用來指定顏色、對齊方式和排序模式的代碼
  • 重複出現的文字,例如量度單位
  • 排序所需的特殊格式

在這種情況下,可考慮建立模板來生成表格橫行所需的代碼,用要列出的內容作為參數。這樣做有很多好處:

  • 可以輕易修改直列的次序或移除任何直列
  • 可以輕易添加直列,即使這個直列有許多內容是置空的(如果添加直列時表格現有的內容都是用非命名參數指定的話,這個新的直列就要用命名參數來避免模板的許多參數值變成置空)
  • 可以用其中一些參數值來計算出另一批參數值,例如從人口和面積計算出人口密度
  • 可以複製表格內容並且用<span style="display:none">標籤來分別指定排序英语Help:Sorting時和正常顯示時用的格式
  • 可以輕易對一整個直列指定統一的格式,例如顏色和對齊方式

以下例子套用了Help:表格/example row template這個模板:

{| class="wikitable sortable" border="1"
|-
! scope="col" | a
! scope="col" | b
! scope="col" | a/b
{{Help:表格/example row template|  50|200}}
{{Help:表格/example row template|   8| 11}}
{{Help:表格/example row template|1000| 81}}
|}
a b a/b
50 200 0.25
8 11 0.72727272727273
1000 81 12.345679012346

用解析器函數決定是否顯示表格橫行

[编辑]

要用解析器函數決定是否顯示表格中某特定橫行的話,可以用像這樣的代碼:

代碼 效果(留意第2行並沒有顯示)
{| class="wikitable" border="1"
 <!--
  第1行會顯示,因為這個“1”的邏輯值為真。
 -->
 {{ #if:1|{{!}}-
  ! scope="row" {{!}} 第1行第1列
  <!--
   所有的“{{!}}”都會替換為豎線符號“|”,因為Template:!這個模板的內容只是“|”。
  -->
  {{!}}第1行第2列}}
 <!--
  第2行並不會顯示,因為“:”和“|”之間的空格的邏輯值為假。
 -->
 {{ #if: |{{!}}-
  ! scope="row" {{!}} 第2行第1列
  {{!}}第2行第2列}}
 <!--
  第3行會如常顯示。
 -->
 |-
  ! scope="row" {{!}} 第3行第1列
  | 第3行第2列
|}
第1行第1列 第1行第2列
第3行第1列 第3行第2列

其他表格代碼

[编辑]

MediaWiki也支援用下列方法製作表格:

  1. XHTML
  2. HTML與“|”豎線符號系列代碼兩種混合(請勿使用

這三種方法MediaWiki都支援,而且(現時)都會生成符合規格的HTML代碼,不過豎線符號系列代碼是最簡單的一種。另外,HTML加“|”豎線符號系列代碼這種混合用法(即是沒有正確地關閉的“|”和“|-”標籤),各瀏覽器將來不一定仍會支援,尤其是用可上網的移動裝置瀏覽的時候。

參見HTML元素#表格。注意MediaWiki現時並不支援<thead><tbody><tfoot><colgroup><col>這幾個元素。

兩種表格代碼的區別

[编辑]
XHTML 維基式豎線符號系列代碼
表格
<table></table>
{|
|}
表格標題
<caption>表格標題</caption>
|+ 表格標題
橫行
<tr></tr>
|-
主體單元格
<td>單元格1</td><td>單元格2</td>
<td>單元格3</td>
| 單元格1 || 單元格2
| 單元格3
表頭單元格
<th scope="col">直列表頭</th>
<th scope="row">橫行表頭</th>
! scope="col" | 直列表頭
! scope="row" | 橫行表頭
表格範例
1 2
3 4
<table>
 <tr>
 <td>1</td>
 <td>2</td>
 </tr>
 <tr>
 <td>3</td>
 <td>4</td>
 </tr>
</table>
{|
| 1 || 2
|-
| 3 || 4
|}
好處
  • 可以用任何XHTML編輯器預覽及除錯
  • 可以縮進代碼,方便檢閱
  • 很多人懂得用
  • 換行不會影響代碼效果
  • 沒有像“|”這種可能與模板或解析器函數的代碼有衝突的字符
  • 容易編寫
  • 容易檢閱
  • 只佔用很少空間
  • 可以很快學會
壞處
  • 冗長繁複
  • 佔用很多空間
  • 不利於快速檢閱
  • 標籤必須成對,除錯時比較困難
  • 縮進的代碼可能與其嵌套方式不一致
  • 換行效果不一致,有時候會令單元格出現問題
XHTML 維基式豎線符號系列代碼

參見en:Template talk:For#Tables

與豎線符號系列代碼對應的HTML標籤

[编辑]

馬格奈斯·曼司克(Magnus Manske)開發的豎線符號系列代碼用豎線符號「|」來代替HTML標籤。這個網上腳本可以將HTML表格轉換成用豎線符號系列代碼寫成的表格。

在這套代碼裡,豎線符號必須在新一行開頭輸入,除了用來將參數和內容分隔開,或者在同一行裡用“||”分隔開不同單元格的時候。參數是選填的。

表格

[编辑]

表格用以下代碼定義:

{| 參數
|}

生成的HTML代碼是“<table 參數>...</table>”。

橫行

[编辑]

在表格內,第一行的HTML標籤<tr>會自動生成。要添加新行的話,可以用:

|-

這樣會生成另一個“<tr>”標籤。

參數可以這樣添加:

|- 參數

生成的代碼是“<tr 參數>...</tr>”。

注意:

  • 在第一個等同於<td>標籤的代碼出現的地方,<tr>這個開標籤會自動生成。
  • 在等同於</tr></table>標籤的代碼出現的地方,</tr>這個關標籤會自動生成。

單元格

[编辑]

單元格可以這樣生成:

|單元格1
|單元格2
|單元格3

又或者像這樣:

|單元格1||單元格2||單元格3

上面兩組代碼都會生成“<td>單元格1</td><td>單元格2</td><td>單元格3</td>”。在這裡“||”等同於換行加“|”。

單元格裡的參數可以這樣指定:

|參數|單元格1||參數|單元格2||參數|單元格3

這樣會生成:

<td 參數>單元格1</td>
<td 參數>單元格2</td>
<td 參數>單元格3</td>

表頭

[编辑]

表頭的代碼會生成<th>,功能和<td>一樣,只是樣式不同。“!”取代了橫行開頭的“|”,“!!”則取代了“||”。參數依然用“|”與內容分隔開。例子如下:

!參數|單元格1

表格標題

[编辑]

<caption>標籤由以下代碼生成:

|+ 表格標題

這樣會生成“<caption>表格標題</caption>”這段HTML代碼。

同樣地,也可以在這裡指定參數:

|+ 參數|表格標題

生成的代碼是“<caption 參數>表格標題</caption>”。

表格概述

[编辑]

只要在表格的開頭添加概述屬性,就可以生成表格概述。螢幕閱讀器可以利用這個概述將表格的大綱提供給有視力障礙的讀者,讓讀者不用聽一遍整個表格的內容。例如這段代碼:

{| summary="Artistic renderings of Germania became more triumphant and monumental."
| [[File:Philipp Veit 008.jpg|thumb|upright|alt=Robed woman, seated, with sword on her lap|Philipp Veit, ''Germania'', 1834–36]]
| [[File:Image Germania (painting).jpg|thumb|upright|alt=Robed woman, standing, holding a sword|Philipp Veit, ''Germania'', 1848]]
| [[File:Niederwald memorial 2.JPG|thumb|upright|alt=Monument of robed woman, standing, holding a crown in one hand and a partly sheathed sword in another|Johannes Schilling, ''Germania'', 1871–83]]
|}

會顯示為:

Robed woman, seated, with sword on her lap
Philipp Veit, Germania, 1834–36
Robed woman, standing, holding a sword
Philipp Veit, Germania, 1848
Monument of robed woman, standing, holding a crown in one hand and a partly sheathed sword in another
Johannes Schilling, Germania, 1871–83

單元格模板

[编辑]

{{Table cell templates}}提供了一系列的模板,可以用來統一地修改單元格的文字和顏色,例如用“yes”、“no”、“n/a”這些字詞。

正方形螢幕

[编辑]

要為正方形的螢幕或視窗製作表格的話,可以先用卷尺量度你的長方形螢幕的高度,然後用這個高度來量度螢幕下方,看看如果螢幕變成正方形的話會有多寬。量度時用筆或者膠帶標記好這個寬度,接下來把瀏覽器的視窗大小調整到這個標記的位置,這樣的話這個視窗就是準確的正方形了。

正方形的螢幕和視窗容納不了專為長方形和寬闊的螢幕而設計的表格和圖像廊。如果有表格或圖像廊是比螢幕還要寬的話,就會令每一行文字也變得特別寬。下面這個圖像廊用的像素大小是在量度了正方形視窗之後定下來的:

以下這段代碼:

{| style="background: transparent; margin: auto;"
| [[File:Some window blinds.JPG|192x155px|thumb|left|各種百葉窗]]
| [[File:Vert-blinds-2145-rs.jpg|192x170px|thumb|left|垂直排列的百葉窗]]
| [[File:Gardine.jpg|192x155px|thumb|left|這個不是百葉窗]]
|}

{| style="background: transparent; margin: auto;"
| [[File:Vorhang.jpg|192x155px|thumb|left|結實的窗簾]]
| [[File:Jalousie-1.jpg|328x55px|thumb|left|橫向排列的百葉窗]]
|}

{| style="background: transparent; margin: auto;"
| [[File:Some window blinds.JPG|205px|thumb|left|窗簾、百葉窗;垂直和橫向排列的百葉窗]]
| [[File:Miniblinds detail of mechanism.jpg|388px|thumb|left|<!--
 -->小型百葉窗附帶的轉桿的近攝圖]]
|}

會顯示為:

各種百葉窗
垂直排列的百葉窗
這個不是百葉窗
結實的窗簾
橫向排列的百葉窗
窗簾、百葉窗;垂直和橫向排列的百葉窗
小型百葉窗附帶的轉桿的近攝圖

直排的直列表頭

[编辑]

有些情況下(例如表格內容大部分是數字時),將文字從左向右或右向左的排列方式,改為上至下或下至上會比較好。現時,不同的瀏覽器在HTML或CSS方面對這種樣式的支援程度各不相同(Internet Explorer是當中少數在CSS方面支援這種樣式的瀏覽器之一,不過是非標準的支援)。另一種方法則在絕大部分的瀏覽器裡都通行,就是用圖片來代替文字。例如下面的表格用了SVG圖片來取代文字,於是直列表頭變成從下向上排列:

日期/頁面
05/08 4266 7828 7282 1105 224 161 916 506 231
04/08 4127 6190 6487 1139 241 205 1165 478 301

通常這樣做會有個問題,就是讀者按下圖片後會到不同的頁面去。要解決這個問題,又或者要將讀者指向其他頁面的話,可以用“link”參數。直列表頭可以用這段代碼:

! style="width:3em;" | [[File:wpvg vg project.svg|link=xxxx]]

這樣的話圖片便會連結到“xxxx”指定的頁面。

如果link是置空的話(例如“[[File:wpvg hd date page.svg|link=]]”),讀者按下圖片後並不會到任何頁面去。要用圖片當連結的話,或者可以將圖片裡的文字弄成藍色,提示讀者。還有,圖片格式建議使用SVG,這樣的話圖片無論如何放大或縮小都不會變形。

不過更大的問題是,視障人士無法利用螢幕閱讀器和類似的裝置檢閱這種“轉動後的文字”,於是就不能“閱讀”這些直行表頭了。搜尋引擎的自動化網絡爬蟲也同樣無法檢閱這些文字。

表格用作圖像廊

[编辑]

表格可以用來將圖片並列展示,就像圖像廊一樣(用<gallery>的話),不過圖片會大一點,各圖片之間的空隙也比較小。

用“class="wikitable"”就可以設定好樣式,生成表格裡各圖片週圍的窄線框,製成簡單的帶框圖像廊:

留意單元格帶有窄線外框:
{| class="wikitable" border="1"
|-
|<!--第1列-->[[File:Worms 01.jpg|265px]]
|<!--第2列-->[[File:Worms Wappen 2005-05-27.jpg|235px]]
|-
|<!--第1列-->跨越[[萊茵河]]並通向沃爾姆斯的[[尼伯龍根橋]]
|<!--第2列-->[[沃爾姆斯市]]及其姊妹城市
|}
跨越萊茵河並通向沃爾姆斯的尼伯龍根橋英语Nibelungen Bridge 沃爾姆斯及其姊妹城市

使用普通的<gallery>標籤的另一個問題是,2007年到2008年時,這樣做會讓每行可放上4張圖片,超越了維基百科條目垂直顯示(譬如800 × 600像素大小)時右邊的頁邊,除非圖像廊只有三張圖片或以下。另一方面,表格裡用的是正常的圖片連結,可以自設圖片大小,例如“"[[Image:XXX.jpg|130px]]”,這樣的話便可以在寬度為600像素的頁面裡用表格的一行展示4張圖片(在螢幕大小為800 × 600像素的情況下)。

{| class="wikitable" border="1"
|-
|<!--第1列-->[[File:Worms 01.jpg|130px]]
|<!--第2列-->[[File:Worms Wappen 2005-05-27.jpg|125px]]
|<!--第3列-->[[File:Liberty-statue-with-manhattan.jpg|125px]]
|<!--第4列-->[[File:New-York-Jan2005.jpg|125px]]
|-
|<!--第1列-->通向沃爾姆斯的尼伯龍根橋
|<!--第2列-->沃爾姆斯及其姊妹城市
|<!--第3列-->自由神像
|<!--第4列-->紐約市
|}
通向沃爾姆斯的尼伯龍根橋 沃爾姆斯及其姊妹城市 自由神像 紐約市

用表格來展示圖片的另一好處是,和<gallery>的樣式不同,表格裡的圖片如果要限制在某一高度內的話,可以用參數調整。圖片大小參數用兩個數字指定(例如“199x95px”)的話,第二個數字便會限定高度。

{| class="wikitable" border="1"
|-
|<!--第1列-->[[File:Liberty-statue-with-manhattan.jpg|199x95px]]
|<!--第2列-->[[File:New-York-Jan2005.jpg|199x95px]]
|<!--第3列-->[[File:Gold star on blue.gif|199x95px]]
|<!--第4列-->[[File:Worms 01.jpg|100x95px]]<!--尺寸較小-->
|-
|<!--第1列-->自由神像
|<!--第2列-->紐約市
|<!--第3列-->藍色背景下的星星
|<!--第4列-->通向沃爾姆斯的橋
|}

留意下面三張大小指定為“199x95px”的圖片顯示為同一高度,都是95像素高(第四張是故意弄得比較小的)。這個“95px”限制了圖片的高度,而“199x”則可以容納不同的寬度(甚至是“999x”):

自由神像 紐約市 藍色背景下的星星 通向沃爾姆斯的橋

即是說,指定大小參數“199x95px”(或者“999x95px”)可以達到<gallery>標籤做不到的自動調校高度的效果,可以將縮圖的高度擴大(像“199x105px”),甚至可以故意將某些圖片弄得比其他95像素高的圖片要小。高度變很小(例如“70px”)的話,表格內便可以顯示更多圖片:

{| class="wikitable" border="1"
|-
|<!--第1列-->[[File:Liberty-statue-with-manhattan.jpg|199x70px]]
|<!--第2列-->[[File:Gold star on blue.gif|199x70px]]
|<!--第3列-->[[File:New-York-Jan2005.jpg|199x70px]]
|<!--第4列-->[[File:Gold star on deep red.gif|199x70px]]
|<!--第5列-->[[File:Worms 01.jpg|199x70px]]<!--同一高度-->
|<!--第6列-->[[File:Gold star on blue.gif|199x70px]]
|}

上面的維基代碼會顯示為下面這個有六行的表格:

圖片只要放到表格內,要再添加圖片的時候便可以控制樣式。

挪動圖片或居中對齊

[编辑]

要挪動表格內的圖片,可以在圖片連結前後添加不換行空格(“&nbsp;”),譬如“&nbsp;[[Image:]]”這樣。要讓圖片自動居中對齊的話,只需要在圖片連結兩邊添加居中對齊的標籤(“<center>[[File:…]]</center>”)。

留意在下面的示例裡,第2列用了<center>,第3列則用了“&nbsp;”:

{| class="wikitable" border="1"
|-
|<!--第1列-->[[File:Domtoren vanaf Brigittenstraat.jpg|299x125px]]
|<!--第2列--><center>[[File:Utrecht 003.jpg|299x125px]]</center>
|<!--第3列-->&nbsp;[[File:Uitzicht vanaf de Domtoren.jpg |299x125px]]&nbsp;
|-
|<!--第1列-->[[布里吉頓街]]的[[多姆塔]]
|<!--第2列-->[[烏得勒支]][[多姆教堂]]內回廊包圍著的庭院
|<!--第3列-->&nbsp;&nbsp;<small>從鐘樓往下看的景觀</small>
|}

上面的代碼會顯示為下面這個表格。留意中間的庭院圖片是居中對齊的(但左邊的沒有),而右邊的圖片在“從”字前有兩個空格:

  
布里吉頓街英语Brigittenstraat多姆塔 烏得勒支多姆教堂英语Dom Church內回廊包圍著的庭院   從鐘樓往下看的景觀

留意上面的<small>標籤使圖片標題變小了。字體大小還可以用百分比來指定(像“style="font-size:87%;"”),這個百分比實際顯示時會因不同字體可以用的大小而異。

 | style="font-size:87%;" | 從鐘樓往下看的景觀

上面這個直列參數就用了“style=”來指定圖片標題的大小。“font-size:65%;”會顯示很小的字體,而“font-size:87%;”則是中等大小,比<small>標籤要大一些。

將表格製成圖表

[编辑]

用的是en:Template:Visualizer或者{{metavisualizer}}。

將試算表轉換成維基式表格

[编辑]

要將Gnumeric、MS Excel、OpenOffice.org Calc等類型的試算表轉換為維基代碼格式的表格的話,可以用這個Copy & Paste Excel-to-Wiki轉換器,或者將試算表儲存為.csv格式後用這個csv2wikitable轉換器。

csv2wp轉換器會把逗号分隔值(CSV)格式的內容轉換為豎線符號系列代碼,可以用來匯入Excel等的表格(詳見de:Benutzer:Duesentrieb/csv2wp (en))。

表格與所見即所得

[编辑]

由於維基代碼有點複雜(尤其是在製作表格方面),所以常常會有人問有沒有任何視覺化編輯器可以簡化製作和修改表格的工序。其中一種解決方法是先用HTML編輯器(例如Adobe Dreamweaver)製作表格,然後將生成的HTML代碼複製到頁面裡。

2012年起維基百科開始局部試用視覺化編輯器,不過尚未全面支援編輯表格的功能。技術程度較高或勇以嘗試的用戶也可以試用WYSIFTW,但留意這個編輯器的使用方式不一定完全是所見即所得。

參見

[编辑]

外部連結

[编辑]