用戶:Chronowar/sandbox3

< User:Chronowar
於 2020年10月12日 (一) 16:45 由 Chronowar對話 | 貢獻 所做的修訂

本頁面作為本地化模板:Navbox/doc的頁面,僅供參考。

以下是正文內容。


正文

本模板允許通過提供一個或多個連結列表相對快速地建立一個索引模板

使用

請移除置空不用的參數。

{{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會創建一個單行方框。

其它的所有變量都是可選的。

下面是用於Navbox的參數的一個完整清單。在大多數情況下,只要有參數nametitle和幾個grouplist就可以了。

變量名 說明
name 該索引模板的名稱(「模板:」後面的部分,注意不是模板的標題)。你可以輸入{{subst:PAGENAME}}作為這個參數的值,這也是個快捷的方法。
title 標題欄中的文字,作為主體內容的一個簡要描述。例如[[Arcaea]]

[1]本參數從技術上來說不是必需的,但是使用Navbox而不帶標題是相當沒有意義的。

state 幾個狀態:autocollapse、uncollapsed、collapsed、plain、off

缺省為autocollapse。如果在使用了其他可摺疊表格的同一個頁面上有兩個或更多表格,那麼navbox一開始就會摺疊起來。
collapsed:該導航框總會在開始時以折迭起來的狀態展現。
plain:該導航框會不帶右側的「隱藏」連結,並且標題會保持居中。
off:該導航框總會在被展開時不帶右側的「隱藏」連結,但是沒有補白以保持標題居中。[2]
除上述4個值之外的其他值(例如「uncollapsed」),該導航框總會在開始時以展開的狀態出現,但是帶有「隱藏」按鈕。 [3]

titlestyle 應用於標題欄的一個CSS樣式字符串,例如background:gray
groupstyle 應用於分組單元格的一個CSS樣式字符串,例如background:#eee;
image 一個可選的右側圖片,以完整的文件形式編碼,例如[[文件:Packs arcaea.jpg|75px]]。
imageleft 一個可選的左側圖片,格式與「image」參數相同。
above 在group/list區段之上顯示的文字。
groupn 左側的文字,在list-n之前作為描述文本(如果group-n被省略,list-n從方框的左側開始)。
listn 列出條目名稱,通常以圓點符號模板(模板:·)分隔開來,例如[[Antagonism]]{{·}} [[Dantalion]]
below 在group/list區段之下顯示的可選文字,與above性質相同。

其他的一些替代導航格式:表格佈局

高級參數/複雜描述

title
顯示在表格頂端一行居中位置的文字。
groupn
(即group1group2等等)如果被指定,文字會顯示在位於listn左側的抬頭單元格中。如果被省略,listn佔用表格的全部寬度。
listn
(即list1list2等等)該模板的主體,通常為一欄連結。格式為內聯;然而,如果整個列表被裝入<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參數以同樣的方式運作。作為一個使用了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];
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樣式。若指定了下面的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有text-align:left;設定,如果它有一個group的話;否則,它有text-align:center;設定。由於只有bodystyle有一個垂直對齊(vertical-align)屬性,所 有其他樣式繼承其vertical-align:middle;設定。

表格佈局

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


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


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


技術細節

運作詳情

  • 列表單元格寬度初始被設置為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;

備註

  1. 這應該是單獨的一行,但是如果需要第二行,請使用{{brClear}}來保證正確的居中。
  2. 這只是為了高級用法;「plain」選項應能滿足大多數需要將「顯示」/「隱藏」按鈕隱藏起來的情況。
  3. 若要在單獨顯示框體,而在一個條目中時自動隱藏內容,可以將「uncollapsed」置於<noinclude>標籤之內: state = <noinclude>uncollapsed</noinclude>