模板:Navbox
該模板來自維基百科,功能可能有所缺失。 由於本地化未完成,可能缺失了非必要性的模板,導致一部分功能無法使用。 |
本模板允許通過提供一個或多個連結列表相對快速地建立一個索引模板。
使用
請移除置空不用的參數。
{{Navbox | state = autocollapse <!--autocollapse、uncollapsed、collapsed、plain、off--> | name = {{subst:PAGENAME}} | title = | image = | above = | abovestyle = | listclass = hlist | group1 = | list1 = | group2 = | list2 = | group3 = | list3 = | group4 = | list4 = | group5 = | list5 = | group6 = | list6 = | group7 = | list7 = | group8 = | list8 = | group9 = | list9 = | group10 = | list10 = | group11 = | list11 = | group12 = | list12 = | group13 = | list13 = | group14 = | list14 = | group15 = | list15 = | group16 = | list16 = | group17 = | list17 = | group18 = | list18 = | group19 = | list19 = | group20 = | list20 = | belowstyle = | below = }}
參數列表
|
Navbox使用小寫的參數名稱,如上面框中所示。如果省略其他參數,必需的name和title會創建一個單行方框。
請注意「group」與「list」系列變量是可選的,above/below等也是可選的。
基本參數如下所示(參見下方查看完整的列表):
name
- 模板的名稱(「模板:」後面的部分,注意不是模板的標題)。title
- 標題欄內的文本,例如[[Arcaea]]。state - autocollapse、uncollapsed、collapsed
:方框的折迭狀態,其中「autocollapse」會自動隱藏被堆迭的多個導航框。titlestyle
- 一個用於標題欄的CSS樣式,例如:background:gray;
groupstyle
- 一個用於分組單元格的CSS樣式,例如:background:#eee;
image
- 一個可選的右側圖片(以完整的image標籤的形式編碼:[[File:Pack arcaea.jpg|90px]])。imageleft
- 一個可選的左側圖片(格式與「image」參數相同)。above
- 在group/list區段之上顯示的文字(可能是一欄綜合的維基連結)。groupn
- 左側的文字,在list-n之前(如果沒有group-n,list-n會從方框的左側開始)。listn
- 列出內鏈的文字,通常以圓點符號模板分隔開來,例如:[[Antagonism]]{{·}} [[Dantalion]]
below
- 在group/list區段之下顯示的可選文字。
更多細節與約束參見下方參數描述章節。
其他的一些替代導航格式:表格布局。
參數描述
下面是用於Navbox的參數的一個完整清單。在大多數情況下,只要有參數name
、title
和list1
就可以了(然而子導航框甚至不需要設置那些參數)。
設置參數
- name†
- 模板的名稱。你可以輸入
{{subst:PAGENAME}}
作為這個參數的值,這也是個快捷的方法。此參數是必需的。 - state† [
autocollapse、uncollapsed、collapsed、plain、off
]
- 預設為
autocollapse
。如果在使用了其他可折迭表格的同一個頁面上有兩個或更多表格,那麼該頁面上的帶autocollapse
的導航框一開始就會折迭起來。否則,該導航框會被展開。技術上如何實現參見MediaWiki:Common.js。 - 如果設置為
collapsed
,該導航框總會在開始時以折迭起來的狀態展現。 - 如果設置為
plain
,該導航框總會在被展開時不帶右側的「隱藏」連結,並且標題會保持居中。 - 如果設置為
off
,該導航框總會在被展開時不帶右側的「隱藏」連結,但是沒有補白會被用來保持標題居中。這只是為了高級用法;「plain」選項應能滿足大多數需要將「顯示」/「隱藏」按鈕隱藏起來的應用。 - 如果設置為除
autocollapse
、collapsed
、plain
或off
之外的其他值(像「uncollapsed」),該導航框總會在開始時以展開的狀態出現,但是帶有「隱藏」按鈕。
- 若要在獨處(未被包含)時顯示框體,而在一個條目中時自動隱藏內容,可以將「uncollapsed」置於<noinclude>標籤之內:
state =
<noinclude>uncollapsed</noinclude>- 如此設置會強制框體在單獨出現時(甚至是後面有其他導航框時)展開,顯示「隱藏」按鈕,而當被堆迭在一個條目中時自動折迭框體。
- 很多時候,對於一個導航框,編輯者會想要一個預設的初始狀態,並且在條目中它可以被覆寫。要做到這一點,這裡有個竅門:
- 在你的居間模板里,創建一個參數也命名為「state」作為一個傳遞。
- navbar†
- 預設為
Navbar
。如果設置為plain
,補白會被自動應用以保持標題居中。設置為off
不會應用補白(這只是為了高級用法;「plain」選項應能滿足大多數不想要導航欄的應用。)強烈建議使用者不要隱藏導航欄,為的是使用戶編輯該模板更加容易,並且可以貫穿各個頁面都有一個標淮的風格。
單元格
- title†
- 顯示在表格頂端一行居中位置的文字。它通常是該模板的主題,也就是主體內容的一個簡要描述。這應該是單獨的一行,但是如果需要第二行,請使用
<div></div>
來保證正確的居中。本參數從技術上來說不是必需的,但是使用Navbox而不帶標題是相當沒有意義的。 - groupn†
- (即group1、group2等等)如果非空,文字會顯示在位於listn左側的抬頭單元格中。如果被省略,listn會占用表格的總寬。
- listn†
- (即list1、list2等等)該模板的主體,通常為內鏈;然而,如果整個列表被裝入
<div> </div>
之內,文字能夠被輸入到不同的行中。最少需要一個list參數;每個附加的list被顯示在一個單獨的表格行中。每個listn可能在其前面有一個相對應的groupn參數,如果提供了的話(參見下方)。 - image†
- 一張圖片,會顯示在標題(title)之下、主體(group/list)右側的一個單元格中。為使圖片能正確地顯示,必須指定list1參數。image參數接受標淮的維基代碼來顯示圖片,即:
image = [[File:Example.jpg|100px]]
- imageleft†
- 一張圖片,會顯示在標題(title)之下、主體(list)之左側的一個單元格中。為使圖片能正確顯示,必須指定list1參數,而且不能指定分組(group)。imageleft參數接受標淮的維基代碼來顯示圖片,即:
imageleft = [[File:Example.jpg|100px]]
- above†
- 一個全寬度單元格,顯示在標題欄與第一個group/list之間,也就是位於該模板的主體(group、list和image)之上。在一個不帶圖片的模板中,above與不帶group1參數的list1參數以同樣的方式運作。
- below†
- 一個全寬度單元格,顯示在該模板主體(group、list和image)的下方。在一個不帶圖片的模板中,below與該模板最後面的不帶groupn參數的listn參數以同樣的方式運作。
樣式參數
一般不建議更改樣式,以保持模板和網頁的一致性。然而,修改樣式的選項還是有的。
- style†
- 指定應用到模板主體的CSS樣式。bodystyle參數也有下面舉例的同樣效果,並能被用來代替這個style參數。此選項應謹慎使用,因為它可以導致視覺上的不一致。舉例:
style = background:#nnnnnn;
style = width:N [em/%/px or width:auto];
style = float:[left/right/none];
style = clear:[right/left/both/none];
- titlestyle†
- 應用到title的CSS樣式,最常見的有導航欄的背景顏色:
titlestyle = background:#nnnnnn;
titlestyle = background:name;
- groupstyle†
- 應用到groupN單元格的CSS樣式。該選項覆寫應用於整個表格的任何樣式。舉例:
groupstyle = background:#nnnnnn;
groupstyle = text-align:[left/center/right];
groupstyle = vertical-align:[top/middle/bottom];
- liststyle†
- 應用到所有list的CSS樣式。若指定了下面的oddstyle和evenstyle參數,則它們的優先級高於本參數。
- oddstyle
- evenstyle
- 應用到奇數/偶數編號的列表。會推翻由liststyle定義的樣式。預設的表現是分別添加條紋狀的顏色(白色和灰色)到奇數/偶數行,以提高可讀性。除了在非常特別的情況下,這些設置不應更改。
- abovestyle†
- belowstyle†
- CSS樣式,應用到頂端單元格(通過above參數指定)和底端單元格(通過below參數指定)。典型地被用來設置背景顏色或文本對齊方式:
abovestyle = background:#nnnnnn;
abovestyle = text-align:[left/center/right];
預設樣式
這裡列出的樣式設置是使用導航框的編輯者最經常更改的那些設置。其他更加複雜的樣式設置被排除在這個列表之外,以保持它簡單。大多數樣式是在MediaWiki:Common.css中設置。
bodystyle = background:#fdfdfd; width:100%; vertical-align:middle;
titlestyle = background:#ccccff; padding-left:1em; padding-right:1em; text-align:center;
abovestyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:center;
belowstyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:center;
groupstyle = background:#ddddff; padding-left:1em; padding-right:1em; text-align:right;
liststyle = background:transparent; text-align:left/center;
oddstyle = background:transparent;
evenstyle = background:#f7f7f7;
由於liststyle和oddstyle是透明的,奇數列表有bodystyle的顏色,其預設值是#fdfdfd(白色帶有少許灰色)。一個list有text-align:left;
設定,如果它有一個group的話;否則,它有text-align:center;
設定。由於只有bodystyle有一個垂直對齊(vertical-align)屬性,所 有其他樣式繼承其vertical-align:middle;
設定。
表格布局
由不帶image、above和below參數的{{Navbox}}生成的表格(列表背景色設置為灰色僅僅是為了演示):
|
由帶有image、above和below參數的{{Navbox}}生成的表格(列表背景色設置為灰色僅僅是為了演示):
|
由帶有image、imageleft、lists,且不帶groups、above、below的{{Navbox}}生成的表格(列表背景色設置為灰色僅僅是為了演示):
|
技術細節
- 此模板為其大部分外觀使用CSS類,因此它完全可以更換皮膚。
- 欲了解更多技術細節請參見其討論頁、MediaWiki:common.css中的CSS類以及MediaWiki:common.js中用來隱藏框體的可折迭表格。
運作詳情
- 列表單元格寬度初始被設置為100%。因此,如果你想手動設置分組單元格的寬度,你就需要同時指定liststyle使之有width:auto。如果你想設置分組寬度並使用圖片,這取決於你已弄明白在groupstyle、liststyle、imagestyle和imageleftstyle參數中的CSS,以使所有部件都工作正常。以下兩行是設置分組寬度的示例:
groupstyle = width:10em;
liststyle = width:auto;
- 相鄰的導航框在它們之間僅有一個1px的邊框(除了在IE6中,因其不支持必需的CSS)。如果你設置了
style/bodystyle
的頂端外邊距(top margin)或底頂端外邊距(bottom margin),那麼此特性就不運作了。 - 外層導航框表格的預設的左外邊距(margin-left)和右外邊距(margin-right)被設置為「auto;」。如果你想使用導航框作為一個浮動對象(float),你需要手動設置左外邊距和右外邊距的值,因為自動外邊距(auto margins)會阻止浮動(float)選項。例如,添加下列代碼來使用導航框作為一個浮動對象:
style = width:22em;float:right;margin-left:1em;margin-right:0em;
上述文檔嵌入自Template:Navbox/doc。(編輯 | 歷史)
您還可以檢視Rotaeno中文維基中該模板的模板文檔,如果存在對應的同版本模板的話。