本页使用了标题或全文手工转换
被永久保护的模板

Template:Navbox

维基百科,自由的百科全书
跳到导航 跳到搜索
文档图示 模板文档[查看] [编辑] [历史] [清除缓存]

本模板可相对快速地建立一个导航模板,它配备了缺省样式,这些样式能对付大多数导航模板。不建议改变缺省样式,尽管这是可以的。为了导航模板的标准化,也为了方便使用,强烈建议使用这个模板,或者它的「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}},或将第一个参数指定为“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}}-提示控制模板的顯示狀態。
導航模板比較
可摺疊性 標題顏色 圖像 組別 樣式(主體)
參數
範例
{{Navbox}} 可摺疊 navbox 主體左/右側 {{H:f Help}}
{{Navbox with columns}} 可摺疊 navbox 欄左/右側 {{APEC}}
{{NavboxYears}} 可摺疊 navbox
{{Navbox with collapsible groups}} 可摺疊 navbox 主體左/右側 及/或 在每列表中 {{ATI}}
摺疊屬性
類別 CSS class Javascript 何時摺疊 自定義
初始狀態
套疊結構
Collapsible tables collapsible Common.js定義 頁面上有2個或以上的autocollapse模板