全站通知:

模板:Infobox/文档

来自UnturnedWIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

本模板为一系列「信息框」模板的元模板,本模板用于构建其他模板。通常不建议在页面中直接使用此模板,但是如有需要,可以在个别「一次性」情況中直接使用。

丨如何构建子模板


创建子模板

以下是一个子模板 {{Infobox animal}} 的实例:

{{Infobox
 | abovestyle = background: #1f1f1f; color: #ddd; border: 1px solid #1e1e1e;
 | above      = {{{title|{{{标题|}}}}}}
<!-- Image -->
 | image       = <div class="vector-outline">{{#if: {{{image|{{{图片|}}}}}} | [[File:{{{image|{{{图片|}}}}}}|{{{image-size|{{{图片尺寸|285px}}}|285px}}}]]}} {{{multiple-images|{{{更多图片|}}}}}}</div>
<!-- Styling -->
 |headerstyle  = background:#232323; color: #ddd; border: 1px solid #1e1e1e;
 |labelstyle   = background:#2c2c2c; color: #ddd; border: 1px solid #1e1e1e;
 | datastyle  = color: #aaa;
<!-- Content cells -->
 |header1 = // 基础信息
 | label2 = 生物行为
 |  data2 = {{#switch: {{{behavior|{{{行为|}}}}}}
             | 1 = Passive
             | 2 = Neutral
             | 3 = Aggressive
            }}
 | label4= 血量
 | data4 = {{#if: {{{health|{{{血量|}}}}}} | {{{health|{{{血量|}}}}}} HP }}
 | label6= 回复
  | data6 = 
  {{#if: {{{regen|{{{回复|}}}}}} | 每 {{#switch: {{{regen|{{{回复|}}}}}} | default = 10 | #default = {{{regen|{{{回复|}}}}}}}} 秒回复'''1'''血量. }}
 | label8= 伤害
 | data8 = {{#if: {{{damage|{{{伤害|}}}}}} | {{{damage|{{{伤害|}}}}}} DAM }}
 |label10= 速度
 | data10= {{#iferror:
  {{#if: {{{speed-run|{{{奔跑速度|}}}}}}
    | '''奔跑:''' {{{speed-run|{{{奔跑速度|}}}}}} m/s ({{#expr: ({{{speed-run|{{{奔跑速度|}}}}}} * 3.281) round 2 }} ft/s)<br />
  }}
}}{{#iferror:
  {{#if: {{{speed-walk|{{{行走速度|}}}}}}
    | '''行走:''' {{{speed-walk|{{{行走速度|}}}}}} m/s ({{#expr: ({{{speed-walk|{{{行走速度|}}}}}} * 3.281) round 2 }} ft/s)
  }}
}}
 |header11= {{#if: {{{reward-id|}}} {{{reward-xp|}}} | // 掉落 }}
 | label12= 物品 <small>({{#if: {{{reward-min|}}} | {{#if: {{{reward-max|}}} | {{{reward-min}}} - {{{reward-max}}} 物品 | }} | }})</small>
 | data12 = {{{reward-id|}}}
 | label14= 经验
 | data14 = {{#if: {{{reward-xp|}}} | {{{reward-xp}}} XP }}
 | rowstyle60 = background-color: #232323;
 |  data60    = {{#if: {{{id|}}} | <div></div>}}
 | belowstyle = background: #232323; color: #ddd; border: 1px solid #1e1e1e;
 | below      = {{#if: {{{id|}}} | '''内部 ID: {{{id}}}'''}}
}}


丨编号
{{Infobox
| header1            = 
| label1             = 
| data1              = 

| header2            = 
| label2             = 
| data2              = 

| header3            = 
| label3             = 
| data3              = 

| header4            = 
| label4             = 
| data4              =  
}}


为了方便日后更改信息框格式,header和label/data行的编号不需要完全按照1、2、3……的加一顺序编写,可以在中间预留一些行编号不用,可避免将来插入新行时需要把该行后面的行编号一并更改。

header和label/data行编号不可以重复,例如不可以同时使用header1与label1/data1,请使用header1与label2/data2。

丨参数
name
“查看/讨论/编辑/历史”链接需要指向模板页的名称(name)。你可以填写{{subst:PAGENAME}}。如果此参数未填,则“查看/讨论/编辑/历史”链接不会显示。



有两种方式为一个信息框填入标题。一种是将标题填在信息框外,另一种则是填写在信息框内。根据需要,你可以选择其中的一种使用,亦或同时使用这两种标题,甚至都不使用(尽管我们不推荐这样做)。

title
填写在信息框表格外顶部的标题文本。
信息框外的标题文本
(信息框的其余部分)





above
填写在信息框表格内顶部单元的标题文本。
信息框内的标题文本
(信息框的其余部分)






subheader
在 above 下面的次標題。subheader2是第2個次標題。


image
在模板上部显示的图像。请使用完整的图像语法,例如{{#if: {{{image|{{{图片|}}}}}} | [[File:{{{image|{{{图片|}}}}}}|{{{image-size|{{{图片尺寸|285px}}}|285px}}}]]}} {{{multiple-images|{{{更多图片|}}}}}}。图像的位置默认为居中。
在中文維基百科,一個Infobox最多可使用4個圖像參數:overimage(置頂)、image(=image1)、image2、image3,與英文維基百科的Infobox僅提供image(=image1)、image2不同。


caption
位于图像下方的说明文本。
overcaption、caption(=caption1)、caption2、caption3分別對應上面4個圖像參數。


header(n)
填入第n行的顶栏文本。


label(n)
填入第n行的标签文本。


data(n)
填入第n行的数据文本。


below
填写在信息框表格底部单元的文本。底部单元一般用来填写脚注、参见及其他类似的信息。


丨样式
bodystyle
应用到信息框表格全体。


titlestyle
应用到信息框表格外的标题中。不建议在此处填写背景颜色(background color),因为该处的文字位于信息框外。


abovestyle
应用到信息框表格内顶部单元中。默认的风格为“font-size:large;”(字号设为大号),因为该单元常被用作标题。如果你希望让顶部单元以正常字号显示,只需在该处填写的内容中包含“font-size:medium;”。


imagestyle
应用到信息框的图像单元中,包括图像下方的说明文本。但是,出于兼容性与未来修改的考虑,如果你需要设置说明文本的属性,请使用captionstyle而不要使用imagestyle。


captionstyle
应用到图像说明文本中。


headerstyle
应用到所有的顶栏单元。


header(n)style
应用到第n行的顶栏单元。


labelstyle
应用到所有的标签单元。如果希望避免标签文字折行显示,只需在该处填写的内容中包含“white-space:nowrap;”。或者例如“min-width: 4em;”。


label(n)style
应用到第n行的标签单元。


datastyle
应用到所有的数据单元。


data(n)style
应用到第n行的数据单元。


belowstyle
应用到底部单元中。


丨类名
bodyclass
该参数影响信息框整体的类(class)。


imageclass
该参数影响图像的类。


class(n)
该参数影响特定行数据单元的类。如果信息框没有数据单元,则不会产生作用。


titleclass
该参数影响信息框外标题的类。


aboveclass
该参数影响信息框内标题的类。


通过为各个数据单元定义类名,本模板可以支持微格式信息;此处所说的类名,是根据标准定义的,且可以向机器表明信息的类型。例如,如果一个信息框使用了hCard的微格式,要在信息框内标记此微格式,则填写以下参数:

|bodyclass = vcard



并为每一个包含了vcard所需数据单元的行添加相应的类参数:

|class1 = fn
|class2 = org
|class3 = tel



等等。用于显示信息框主题的“above”和“title”也可以指定类。

丨标签与数据

如果表格的一行只有标签而没有数据,那么该行将不会显示。这样可以方便编者创建选填内容的行。要让某行成为可选项,只需填写一个默认为空字段的参数即可:

|label5 = 人口
|data5  = {{{population|}}}

这样的话,如果在条目中不定义“population”参数,则信息框的那一行不会被显示。

如果表格的一行填写的是预设格式内容(即除了参数外,还有其他内容),而又希望让该行成为可选项的话,你可以通过“#if”语句实现。当参数为空时,令所有的内容均不被呈现。譬如,在下面的例子里,“#if”会判断参数“mass”是否不为空,若不为空则显示它,并跟上“-{A|zh-hans:千克; zh-hant:公斤;}-”的后缀:

|label6 = 质量
|data6  = {{#if:{{{mass|}}} |{{{mass}}}千克}}

更多关于#if的用法,参见此处

如果你希望顶栏只在其下方的某个或多个数据单元有内容时才显示,以下的例子可以指导你如何实现:

{{Infobox
|name        = {{subst:PAGENAME}}
|title       = 可选顶栏的用例
|autoheaders = y
|header1     = 可选顶栏
|label2      = 项目一
|data2       = {{{item_one|}}}
|label3      = 项目二
|data3       = {{{item_two|}}}
|label4      = 项目三
|data4       = {{{item_three|}}}
}}

这样,只有在参数“item_one”、“item_two”或“item_three”其中之一被填写时,“header1”才会被显示。如果上述三个参数均未被定义,则顶栏不会显示。