Template:导航框

来自滚动的天空Wiki
跳到导航 跳到搜索
文档图示 模板文档[查看] [编辑] [历史] [清除缓存]

本模板是从维基百科的Template:Navbox模板改造的,和维基百科的版本具有一定的区别。

基本参数列表[编辑]

导航框使用小写的参数名称。所有的参数都是可选的。

基本的和最常见的参数如下所示(参见下方查看完整的列表):

  • name:模板的名称(“Template:”后面的部分,注意不是模板的标题)。
  • title:标题栏的文字,比如[[关卡列表]]。
  • titlestyle:用于标题栏的CSS样式。
  • groupstyle:用于分组单元格的CSS样式。子框表的分组不受此影响。
  • above:在group/list区段之上显示的文字。
  • groupn(其中n是任意正整数):左侧分组单元格内的文字,在listn之前(如果groupn被省略,listn从方框的左侧开始)。
  • listn(其中n是任意正整数):右侧列表单元格内的文字,通常是无序列表。由于导航框默认添加了hlist类,因此无序列表会显示为由小圆点隔开的水平列表。
  • below:在group/list区段之下显示的文字。

进一步的细节,以及复杂的约束,在下方参数描述章节作了解释。

参数描述[编辑]

下面是用于{{导航框}}的参数的一个完整清单。

设置参数[编辑]

name[编辑]

模板的名称。为了在所有使用了所生成模板的页面上,标题栏左侧的“檢 · 论 · 编”链接都能正确地工作,就需要设置这个参数。你可以输入{{subst:PAGENAME}}作为这个参数的值,这也是个快捷的方法。

单元格[编辑]

title[编辑]

显示在表格顶端一行居中位置的文字。它通常是该模板的主题,也就是主体内容的一个简要描述。本参数从技术上来说不是必需的,但是使用{{Navbox}}而不带标题通常是没有意义的。

groupn(如group1、group2、group3……)[编辑]

n为正整数。如果被指定,文字会显示在位于listn左侧的分组单元格中。如果被省略,对应的列表单元格就会占用表格的全部宽度。

listn(如list1、list2、list3……)[编辑]

n为正整数,该模板的列表单元格,通常为一栏链接。如果第n个列表不存在,则第n个分组(groupn)也不会显示,但是不会对后面的列表(若有)造成影响。

groupa-bab均为正整数)[编辑]

将第a个列表单元格设置为一个子导航框,该子导航框的第b个分组。不应与groupa、lista等共存,如果共存,则groupa、lista直接被忽略。

lista-bab均为正整数)[编辑]

将第a个列表单元格设置为一个子导航框,该子导航框的第b个列表。同上,不应与groupa、lista等共存,如果共存,则groupa、lista直接被忽略。

above[编辑]

一个全宽度单元格,显示在标题栏与第一个group/list之间,也就是位于该模板的主体(group、list)之上。在一个不带图片的模板中,above与不带group1参数的list1参数以同样的方式运作。

below[编辑]

一个全宽度单元格,显示在该模板主体(group、list)的下方,与该模板最后面的不带分组的列表单元格以同样的方式运作。

titlea、abovea、belowa[编辑]

将第a个列表单元格设置为一个子导航框,该子导航框的标题、上方框或下方框。同上,不应与groupa、lista等共存,如果共存,则groupa、lista直接被忽略。

样式参数[编辑]

一般不建议更改样式,以保持维基百科中模板和网页的一致性。然而,修改样式的选项还是有的。简单地说,在单元格参数后面加一个style即为该单元格的样式。

bodystyle[编辑]

指定应用到模板主体的CSS样式。此选项应谨慎使用,因为它可以导致视觉上的不一致。举例:

  • 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[编辑]

应用到所有分组单元格的样式。该选项覆写应用于整个表格的任何样式。子框表的分组单元格不受影响。举例:

  • groupstyle = background:#nnnnnn;
  • groupstyle = text-align:[left/center/right];
  • groupstyle = vertical-align:[top/middle/bottom];

liststyle[编辑]

应用到所有列表单元格的CSS样式。若指定了下面的oddstyle和evenstyle参数,则对于同一属性,它们的优先级高于本参数。

该参数影响子框表的列表单元格。

oddstyle、evenstyle[编辑]

应用到所有的第奇数/偶数个列表。不会推翻由liststyle定义的样式,但优先级更高。缺省的表现是分别添加条纹状的颜色(白色和灰色)到奇数/偶数行,以提高可读性。一般不建议修改。

该参数影响子框表的列表单元格。

注意:奇偶性的判断是看这个列表在整个根框表中是第几个,与参数名称无关。比如如果某个导航框有list1、list2、list4、list5而没有list3,则计算奇偶性时,list3被跳过,list4实际上是第3个列表,故受oddstyle影响,同理,list5实际上是第4个列表,受evenstyle影响。此外,所有的子框表(如果有)和根框表共用同个奇偶性计算。

abovestyle、belowstyle[编辑]

应用到顶端单元格(通过above参数指定)和底端单元格(通过below参数指定)。典型地被用来设置背景颜色或文本对齐方式。举例:

  • abovestyle = background:#nnnnnn;
  • abovestyle = text-align:[left/center/right];

groupnstyle、listnstyle[编辑]

n个分组或列表的CSS样式。

groupa-bstyle、lista-bstyle[编辑]

类似地,第a个列表的子导航框的第b个分组或列表的样式。

类参数[编辑]

与样式参数类似,设置一类或一个单元格的(类)。这里不再赘述。

注意单元格默认设置了一些类,这些类不会被类参数覆盖,如下表所示:

单元格名称
导航框本身 newstyle_navbox hlist
所有的分组框 newstyle_navbox-group
所有的列表框 newstyle_navbox-list
带有子导航框的列表框 newstyle_navbox-list-with-subgroup
没有对应分组框的列表框 newstyle_navbox-list-without-group
上方框 newstyle_navbox-above newstyle_navbox-abovebelow
下方框 newstyle_navbox-below newstyle_navbox-abovebelow
标题框 newstyle_navbox-title
子导航框 newstyle_navbox-subgroup
n级嵌套子导航框
(根导航框视为第0级)
newstyle_navbox-level-n
第奇数个列表 newstyle_navbox-list-odd
第偶数个列表 newstyle_navbox-list-even

此外,下面列举了一些常用的用于框表本身的类(bodyclass):

mw-collapsible
若有此类,则该导航框将可折叠。
mw-collapsed
若有此类,则该导航框默认已被折叠,可以展开。
plainbox
若有此类,则所有的分组单元格显示为列表单元格上方的一整行,而非列表单元格左侧。
mobileplainbox
类似于plainbox,不过只会对手机版视图生效。这样做是为了考虑手机版的导航框显示问题。

示例[编辑]

基本的导航框[编辑]

{{导航框
|name  = Navbox/doc
|title = 滚动的天空[[关卡]]列表

|group1 = 1星关卡
|list1 = 
* [[山丘]]
* [[幻想]]
* [[8比特]]
* [[梦之队]]
* [[冬日]]
* [[云]]
* ——

|group2 = 2星关卡
|list2 = 
* [[天空]]
* [[王牌]]
* [[狂热派对]]
* [[童话]]
* [[万圣节逃生]]
* [[激光之城]]
* ……

|group3 = 3星关卡
|list3 = 
* [[森林]]
* [[沙漠]]
* [[赞歌]]
* [[功夫]]
* [[糖果]]
* [[矩阵浪潮]]
* [[Alone]]
* [[Alone Remix]]
* [[Faded]]
* ……
|group4 = 4星关卡
|list4 = 
* [[火山]]
* [[城市]]
* [[科技]]
* [[俄罗斯方块]]
* [[亡灵之舞]]
* [[灼热未来]]
* [[马戏团]]
* ……

|group5 = 5星关卡
|list5 = 
* [[电子迷宫]]
* [[天空之城]]
* [[万圣节]]
* [[深空]]
* [[圣诞]]
* [[像素]]
* [[几何迷阵]]
* [[扑克]]
* [[雷鬼]]
* [[遗迹]]
* [[街头篮球]]
* [[万圣嘉年华]]
* ……

|group6 = 6星关卡
|list6 = 
* [[生日快乐]]
* [[四周年]]
}}
滚动的天空关卡列表
1星关卡
2星关卡
3星关卡
4星关卡
5星关卡
6星关卡

带有子导航框和mobileplainbox类[编辑]

该示例中,由于设置了mobileplainbox,所以在手机版视图中,“主线关卡”显示为一整行。

{{导航框
|title = 滚动的天空[[关卡]]列表
|bodyclass = mobileplainbox
|group1 = 主线关卡
|group1-1 = 1星关卡
|list1-1 =
* [[山丘]]
* [[幻想]]
* [[8比特]]
* [[梦之队]]
* [[冬日]]
* [[云]]
* ——
|group1-2 = 2星关卡
|list1-2 = 
* [[天空]]
* [[王牌]]
* [[狂热派对]]
* [[童话]]
* [[万圣节逃生]]
* [[激光之城]]
* ……

|group1-3 = 3星关卡
|list1-3 = 
* [[森林]]
* [[沙漠]]
* [[赞歌]]
* [[功夫]]
* [[糖果]]
* [[矩阵浪潮]]
* [[Alone]]
* [[Alone Remix]]
* [[Faded]]
* ……
|group1-4 = 4星关卡
|list1-4 = 
* [[火山]]
* [[城市]]
* [[科技]]
* [[俄罗斯方块]]
* [[亡灵之舞]]
* [[灼热未来]]
* [[马戏团]]
* ……

|group1-5 = 5星关卡
|list1-5 = 
* [[电子迷宫]]
* [[天空之城]]
* [[万圣节]]
* [[深空]]
* [[圣诞]]
* [[像素]]
* [[几何迷阵]]
* [[扑克]]
* [[雷鬼]]
* [[遗迹]]
* [[街头篮球]]
* [[万圣嘉年华]]
* ……
|group2 = 迷你关卡
|list2 = 
* [[迷你关卡1]]
* [[迷你关卡2]]
* [[迷你关卡3]]
* [[迷你关卡4]]

|group3 = 分段关卡
|list3 = 
* [[冠军赛]]
* [[微芯片]]
* [[橄榄球]]
* [[海战]]
}}
滚动的天空关卡列表
主线关卡
1星关卡
2星关卡
3星关卡
4星关卡
5星关卡
迷你关卡
分段关卡

带有上方框和下方框[编辑]

由于设置了bodyclass=mw-collapsible,该导航框可折叠。

{{导航框
|name  = Navbox/doc
|title = 滚动的天空[[关卡]]列表
|bodyclass = mw-collapsible
|above = 
* [[关卡要素]]
* [[迷你挑战]]
* [[周赛]]
* [[滚动的天空:走位介绍]]
|group1 = 1星关卡
|list1 = 
* [[山丘]]
* [[幻想]]
* [[8比特]]
* [[梦之队]]
* [[冬日]]
* [[云]]
* ——

|group2 = 2星关卡
|list2 = 
* [[天空]]
* [[王牌]]
* [[狂热派对]]
* [[童话]]
* [[万圣节逃生]]
* [[激光之城]]
* ……

|group3 = 3星关卡
|list3 = 
* [[森林]]
* [[沙漠]]
* [[赞歌]]
* [[功夫]]
* [[糖果]]
* [[矩阵浪潮]]
* [[Alone]]
* [[Alone Remix]]
* [[Faded]]
* ……
|group4 = 4星关卡
|list4 = 
* [[火山]]
* [[城市]]
* [[科技]]
* [[俄罗斯方块]]
* [[亡灵之舞]]
* [[灼热未来]]
* [[马戏团]]
* ……

|group5 = 5星关卡
|list5 = 
* [[电子迷宫]]
* [[天空之城]]
* [[万圣节]]
* [[深空]]
* [[圣诞]]
* [[像素]]
* [[几何迷阵]]
* [[扑克]]
* [[雷鬼]]
* [[遗迹]]
* [[街头篮球]]
* [[万圣嘉年华]]
* ……

|group6 = 6星关卡
|list6 = 
* [[生日快乐]]
* [[四周年]]

|below = 所有的关卡数据目前存储于[[模块:Data/Level]]中。
}}
滚动的天空关卡列表
1星关卡
2星关卡
3星关卡
4星关卡
5星关卡
6星关卡
所有的关卡数据目前存储于模块:Data/Level中。

子导航框[编辑]

与维基百科的版本不同,这里使用了自身支持的子导航框。在上文的参数说明中已经提及。此外,将第一个参数设为child确实也可以实现子导航框,但是不建议这样使用。

本模板规定:如果规定了某个列表的内容,又规定了某个列表的子导航框的内容,则该列表为子导航框,直接规定的列表内容视为无效。

例如:

{{导航框
|title=标题
|group1=分组1
|list1=列表1
|group2=分组2
|list2=列表2
|group2-1=列表2的子导航框的分组1
|list2-1=列表2的子导航框的列表1
}}

其效果为:

标题
分组1列表1
分组2
列表2的子导航框的分组1列表2的子导航框的列表1

可见,列表2的内容直接被忽略了。

和维基百科的区别[编辑]

  • 修改了元素的类,支持手机版显示。大多数样式由CSS样式表实现,而非元素的内联样式。
  • 对列表和分组的数量没有限制。
  • 对子导航框提供原生支持。传统方式中,仅有将第一个参数设置为child是有效的,且不推荐传统方式。
  • 取消分类功能。
  • 可以对设置特定的单元格类和样式。对列表或者所有的奇数/偶数列设置的通用样式对子框表也是有效的(传统方式设置的子导航框无效)。
  • 某一个单元格受到不同参数的样式或类的设置时,这些样式或类不是相互覆盖,而是相互叠加。其中,样式发生冲突时,越“精准”的单元格的样式优先级越高,比如list1style优先于oddstyle,而oddstyle优先于liststyle。
上述文档嵌入Template:导航框/doc编辑 | 历史
编者可以在本模板的沙盒创建 | 镜像和测试样例创建页面进行实验。
请在文档中添加分类。本模板的子页面