跳至內容

模板:Navbox

本頁使用了標題或全文手工轉換
維基新聞,自由的新聞源
文件圖示 模板文件[檢視] [編輯] [歷史] [清除快取]

Template:High-use Template:Uses Lua

Template:Navbox suite 本模板可相對快速地建立一個導航模板,它配備了預設樣式,這些樣式能對付大多數導航模板。不建議改變預設樣式,儘管這是可以的。為了導航模板的標準化,也為了方便使用,強烈建議使用這個模板,或者它的「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使用小寫的參數名稱,如上面框中所示。如果省略其他參數,必需的nametitle會建立一個單行方框。

請注意「group1」(等等)是可選的,命名為「above/below」的部分也是可選的。

基本的和最常見的參數如下所示:

name
模板的名稱(「Template:」後面的部分,注意不是模板的標題)。
title
標題列的文字,像[[化学分支]]。
listclass
用於list儲存格的CSS樣式,常設定為hlist以使用水平列表。如果abovebelow也需使用水平列表則應改用bodyclass參數。
state - autocollapse、uncollapsed、collapsed:方框的摺疊狀態,其中「autocollapse」會自動隱藏被堆疊的多個導航框。
titlestyle
一個用於標題列的CSS樣式,像:background:gray;
groupstyle
一個用於分組儲存格的CSS樣式,像:background:#eee;
image
一個可選的右側圖片,以完整image標籤的形式編碼:[[File:XX.jpg|90px]]。
imageleft
一個可選的左側圖片,編碼方式與「image」參數相同。
above
在group/list區段之上顯示的文字,可能是一欄綜合的維基連結。
groupn
左側的文字,在list-n之前(如果group-n被省略,list-n從方框的左側開始)。
listn
列出維基連結的文字,通常是一個無序列表
below
在group/list區段之下顯示的文字。

下方參數描述章節解釋了進一步的細節及限制。其他導航格式則可見表格的布局

參數描述

[編輯]

下面是用於{{Navbox}}的完整參數清單。在大多數情況下,只要有參數nametitlelist1就可以了,子導航框甚至不需要設定那些參數。

{{Navbox}}與它的姊妹模板{{Navbox with columns}}、{{Navbox with collapsible groups}}共用很多參數名稱,以提高一致性與易用性。帶有標記的參數適用於這三個主模板。

設定參數

[編輯]
name
模板的名稱。為了使所有衍生模板的「閱·論·編」連結正確工作,就必須設定這個參數。你可以輸入{{subst:PAGENAME}}作為這個參數的值,這也是個快捷的方法。
state [autocollapse、uncollapsed、collapsed、plain、off]
  • 預設為autocollapse。如果一個頁面上同時有兩個或更多可摺疊表格,那麼該頁面上的帶autocollapse的導航框在頁面載入時會摺疊起來。要了解技術上的實現,請參見MediaWiki:Gadget-collapsibleTables.js
  • 如果設定為collapsed,該導航框會在頁面載入時摺疊起來。
  • 如果設定為plain,該導航框在展開時不帶右側的「隱藏」連結,並且標題會保持居中(通過使用補白來偏移閱·論·編連結)。
  • 如果設定為off,該導航框在展開時不帶右側的「隱藏」連結,但是沒有補白、標題未必居中。這只是為了進階用法;「plain」選項應能滿足大多數需要將「顯示」/「隱藏」按鈕隱藏起來的應用。
  • 如果設定為除autocollapsecollapsedplainoff之外的其他值(像「uncollapsed」),該導航框會在頁面載入時展開,並帶有「隱藏」按鈕。
若要在獨處(未被包含)時顯示框體及「隱藏」按鈕,而在條目中自動隱藏內容,可以將「uncollapsed」置於<noinclude>標籤之內:
  • state = <noinclude>uncollapsed</noinclude>
如果想讓編輯者在條目中覆寫摺疊狀態,可以這樣做:
在你建立的模板里,像這樣加入也命名為「state」的傳遞參數:
  • | state = {{{state<includeonly>|你想要的初始状态</includeonly>}}}
  • <includeonly>|使模板在本身頁面時展開。
  • 範例:{{土星的衛星}}帶autocollapse作為其預設的初始狀態。條目土衛三十五嵌入包含了它,並且只有一個導航框架。因此該頁面的「土星的衛星」導航框顯示;條目土衛一有兩個導航框,因此該頁面的「土星的衛星」導航框摺疊。此外也可在條目中使用帶state參數的參照形式(如{{土星的卫星|state=collapsed}})覆寫其摺疊狀態。
  • 範例:{{阿拉伯語言}}帶expanded作為其預設的初始狀態。所有嵌入包含它的條目預設情況下會顯示內容,除非條目在嵌入包含它時指定了state = collapsed。
navbar
預設為Navbar。如果設定為plain,在標題列左側的閱·論·編連結不會顯示,而且自動應用補白以保持標題居中;設定為off可以移除閱·論·編連結,但是不會應用補白(這只是為了進階用法;「plain」選項應能滿足大多數不想要導航欄的應用。)強烈建議使用者不要隱藏導航欄,為的是使用戶編輯該模板更加容易,並且在各頁面中保持標準風格。

儲存格

[編輯]
title
顯示在表格頂端一行居中位置的文字,它通常是該模板的主題,也就是主體內容的簡要描述。這應該是單獨的一行,如果需要第二行,請使用{{Clear}}來保證正確的居中。本參數從技術上來說不是必需,但是使用{{Navbox}}而不帶標題相當沒有意義。
groupn
(即group1group2等等)如果被指定,文字會顯示在listn左側的抬頭儲存格中;如果被省略,listn占用表格的全部寬度。
listn
(即list1list2等等)模板的主體,每個導航框至少需要一個list參數,通常為一欄連結,格式為內部連結;如果整個列表被裝入<div> </div>內則可分行顯示。每個附加的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參數以同樣方式運作。作為一個使用了below參數的範例,請參見{{非洲}}。

樣式參數

[編輯]

一般不建議更改樣式,以保持維基百科中模板和網頁的一致性,然而還是可以修改。

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];
basestyle
CSS樣式,會同時應用到titleabovebelowgroup儲存格,不會應用到list儲存格。使編輯者容易改變導航框的基本顏色,而無需在不同部分重複指定。舉例:
basestyle = background:lightskyblue;
titlestyle
應用到title的CSS樣式,最常用於指定title背景顏色:
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樣式。若指定了下面的oddstyleevenstyle參數,則它們優先於本參數。
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;

由於liststyleoddstyle是透明的,奇數列表有bodystyle的顏色,其預設值是#fdfdfd(白色帶有少許灰色)。list對應group的話會有text-align:left;設定,,否則text-align:center;。由於只有bodystyle有一個垂直對齊(vertical-align)屬性,所有其他樣式繼承其vertical-align:middle;設定。

表格的布局

[編輯]

由{{Navbox}}「不帶」imageabovebelow參數生成的表格(為演示而添加灰色的列表背景):


由{{Navbox}}「帶有」imageabovebelow參數生成的表格(為演示而添加灰色的列表背景):


由{{Navbox}}「帶有」imageimageleftlists,且「不帶」groupsabovebelow生成的表格(為演示而添加灰色的列表背景):

範例

[編輯]

不帶圖片

[編輯]
{{Navbox
|listclass=hlist
|name  = {{subst:PAGENAME}}
|title = [[多媒体超级走廊]](马来西亚){{Clear}}「不带图片」

|group1 = 中心
| list1 = [[赛柏再也]]

|group2 = 区域
| list2 = [[巴生谷]]

|group3 = 主要地标
| list3 = 
* [[双子塔]]
* [[吉隆坡电讯高塔]]
* [[吉隆坡中央车站]]
* [[马来西亚科技园]]
* [[布城]]
* [[赛柏再也]]
* [[吉隆坡国际机场]]

|group4 = 基础设施
| list4 = 
* [[快速铁路]]
* [[吉隆坡-布城高速公路]]
* [[全机场管理系统]]

|group5 = 首要应用
| list5 = 
* [[电子政务]]
* [[大马卡]]  
}}


帶圖片,不帶分組

[編輯]
{{Navbox
|listclass=hlist
|name  = {{subst:PAGENAME}}
|title = [[多媒体超级走廊]](马来西亚)
|image = [[File:Flag of Malaysia.svg|80px]]
|list1 = 
* [[双子塔]]
* [[吉隆坡电讯高塔]]
* [[吉隆坡中央车站]]
* [[马来西亚科技园]]
* [[布城]]
* [[赛柏再也]]
* [[吉隆坡国际机场]]
}}


帶兩張圖片,不帶分組,多重列表

[編輯]
{{Navbox
|listclass=hlist
|name  = {{subst:PAGENAME}}
|title = [[多媒体超级走廊]](马来西亚)
|image = [[File:Flag of Malaysia.svg|80px]]
|imageleft = [[File:Flag of Malaysia.svg|80px]]
|list1 = 
* [[双子塔]]
* [[吉隆坡电讯高塔]]
* [[吉隆坡中央车站]]
|list2 = 
* [[快速铁路]]
* [[吉隆坡-布城高速公路]]
* [[全机场管理系统]]
|list3 = 
* [[电子政务]]
* [[大马卡]] 
|list4 = 
* [[巴生谷]]
}}


帶有圖片、分組、上方注釋、下方注釋

[編輯]
{{Navbox
|listclass=hlist
|name  = {{subst:PAGENAME}}
|title = [[多媒体超级走廊]](马来西亚)
|image = [[File:Flag of Malaysia.svg|80px]]

|above = 上方文字放在这里

|group1 = 中心
|list1  = 
* [[赛柏再也]]

|group2 = Area
|list2  = 
* [[巴生谷]]

|group3 = 主要地标
|list3  = 
* [[双子塔]]
* [[吉隆坡电讯高塔]]
* [[吉隆坡中央车站]]
* [[马来西亚科技园]]
* [[布城]]
* [[赛柏再也]]
* [[吉隆坡国际机场]]

|group4 = 基础设施
|list4  = 
* [[快速铁路]]
* [[吉隆坡-布城高速公路]]
* [[全机场管理系统]]

|group5 = 首要应用
|list5  = 
* [[电子政务]]
* [[大马卡]] 

|below  = 网站:[http://www.msc.com.my/ www.msc.com.my]
}}

子導航框

[編輯]

要在一個邊框中放置多個導航框,可以、使用{{Navbox subgroup}},或將參數1或border參數指定為「child」,為第一個組增加了一個子組如下:

{{Navbox
| name = {{subst:PAGENAME}}
| title = Title

| group1 = [optional]
| list1  = {{Navbox|child
   ...子導航框參數...
 }}

...
}}

「evenodd」參數用來調整子分組中條紋狀顏色帶的分布,以確保顏色排列正確。如果想去除所有的條紋顏色帶,可以在每個Navbox中設定liststyle = background:transparent;

一個導航模板下包含其他導航模板

[編輯]

下面的範例中,常規Navbox被用作容器,其list1、list2和list3參數各包含另外的Navbox(設定了1 = child)。「閱·論·編」標題連結各通過navbar = plain或直接不填寫「name」參數隱藏。(與常規Navbox不同,子Navbox不要求填寫「name」參數。)

與其他導航框模板的關係

[編輯]

此導航框模板被特別設計使得能與另外兩個姊妹模板協同工作:{{Navbox with columns}}和{{Navbox with collapsible groups}}。所有這三個模板共享常用的參數,以提高一致性與易用性(此類參數在上面的完整參數列中用作了標記)。最重要的是,所有這三個模板能互相被用作另一個的子模板(通過使用border = child參數,或將第一個參數(無名)指定為child。例如,使用{{Navbox|child ...}}{{Navbox with columns|child ...}}{{Navbox with collapsible groups|child ...}})。

由於嵌入子導航框可能使導航框、參照頁面超出模板參照大小限制,故可使用{{NavboxV2}}取代上面三種模板。

技術細節

[編輯]

運作詳情

[編輯]
  • 列表儲存格寬度初始設定為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;
  • 一般不需要手動使用圓點模板,因為listclass=hlist中的hlist class會自動把列表摺疊為圓點形式,並且還會處理巢狀括號。使用列表形式有助殘障人士存取,見親和力

參見

[編輯]
  • {{Navbox subgroup}}-允許在導航框內分組。
  • {{Navbox with columns}}-允許以欄取代組別/列表。
  • {{Navbox with collapsible groups}}-另一種變體。
  • {{NavboxV2}}-如果遇到因為Navbox而觸發的模板限制問題,可以試試這個,平均能減少50%~60%的展開量——如果能整理好傳入的參數的話……
  • {{Nowrap begin}}-於列表項目中間插入圓點、直管線或破折號的格式模板。
  • {{Nobold}}-當預設文字樣式設定為粗體時,可用來顯示無粗體文字的模板。
  • {{·}}{{}}-分隔列表項目的圓點,一般不應使用。
  • {{Collapsible option}}-提示控制模板的顯示狀態。

Template:Navigational templates

重新導向

[編輯]