Jump to content

Help:列表

From mediawiki.org
This page is a translated version of the page Help:Lists and the translation is 77% complete.
Outdated translations are marked like this.

本页面将帮助你在MediaWiki中创建列表。

基础列表

MediaWiki 提供了三种类型的列表:无序列表(unordered lists)有序列表(ordered lists)定义(definition)列表。

基本用法

无序列表
每个项目都在以星号*开头的新行上,例如* 项目
有序列表
每个项目都在以井号#开头的新行上,例如# 项目
定义列表
每个项目都有两个部分:术语描述
术语位于以分号;开头的新行上,例如; 术语
描述跟在冒号:后面的同一行,例如; 术语 : 描述
或者描述以冒号:开头,例如: description(每个术语可以有多个描述,每个描述都以新行上的冒号开头)。

进阶用法

在下表中,您将找到这两种方法的一些示例:

维基文本 渲染
* 列表就是这么创建的:
** 第一行
* 第一层
** 第二层
*** 第三层
  • 列表就是这么创建的:
    • 第一行
  • 第一层
    • 第二层
      • 第三层
* 新的一行
* 列表
标记这是列表最后一行。
当然
* 你可以
* 再创建一行
  • 新的一行
  • 列表

标记这是列表最后一行。 当然

  • 你可以
  • 再创建一行
# # 数字列表也不错
## 很整齐
## 容易理解
## very organized
## easy to follow
  1. # 数字列表也不错
    1. 很整齐
    2. 容易理解
    3. very organized
    4. easy to follow
* 您也可以
** 像这样<br>在列表内<br>分行
  • 您也可以
    • 像这样
      在列表内
      分行
; 定义列表
; 术语 : 定义
; 分号项
: 冒号定义
定义列表
术语
定义
分号项
冒号定义
; 混合定义列表
; 第1项 : 定义
:; 子项目1的术语
:: 两个冒号的定义
:; 子项目2 : 冒号的定义
; 项目2
: 返回主列表
混合定义列表
第1项
定义
子项目1的术语
两个冒号的定义
子项目2
冒号的定义
项目2
返回主列表
* 或创建混合列表
*# 并将它们嵌套
*#* 像这样
*#*; 定义
*#*: 工作:
*#*; 苹果
*#*; 香蕉
*#*: 水果
  • 或创建混合列表
    1. 并将它们嵌套
      • 像这样
        定义
        工作:
        苹果
        香蕉
        水果

列表的复数行

为简单起见,wiki标记中的列表项不能超过一个段落。以下空行将结束列表并重置有序列表上的计数器。分离无序列表项通常不会产生明显影响。

可以使用HTML标记在列表中强制使用段落。 如果您想放置多行文本,请添加两个换行符(<br /><br />),您将获得所需的效果。 将文本换行‎<p>...‎</p>会将该文本呈现在新段落中,该段落在呈现时将从自己的行开始。

在子项之后继续列表项

MediaWiki不支持在子列表之后继续列出项目的方式,除非整个列表都使用了HTML标记来表示。

替代方案

在wikitext代码中,对于没有编号的一级列表来说,这种限制可以通过将列表拆分为多个子列表来克服;各个子列表之间的缩进文字可以在视觉上表现为某个子列表项的一部分。不过:

  • 在语义上不同
  • 这可能会导致每个列表项之间出现不必要的垂直间距(具体情况取决于CSS设置)。为了统一外观,建议将每一个一级列表项单独呈现为一个独立的列表。
  • 这会使得编号列表中的数字从1开始重新计数。
Wikitext 渲染
<ol>
  <li>列表项 A1
    <ol>
      <li>列表项 B1</li>
      <li>列表项 B2</li>
    </ol>继续列表项 A1
  </li>
  <li>列表项 A2</li>
</ol>
  1. 列表项 A1
    1. 列表项 B1
    2. 列表项 B2
    继续列表项 A1
  2. 列表项 A2
vs.
# #列表项A1
##列表项B1
##列表项B2
#:继续列表项A1
#列表项A2
## list item B1
## list item B2
#: continuing list item A1
# list item A2
  1. #列表项A1
    1. 列表项B1
    2. 列表项B2
    继续列表项A1
  2. 列表项A2
    1. list item B1
    2. list item B2
    continuing list item A1
  3. list item A2

再深一层,子列表项在子子列表之后继续,会得到更多的空行;但是,第一级列表的延续不受影响:

维基文本 渲染
# #列表项A1
##列表项B1
###列表项C1
##:继续列表项B1
##列表项B2
#列表项A2
## list item B1
### list item C1
##: continuing list item B1
## list item B2
# list item A2
  1. #列表项A1
    1. 列表项B1
      1. 列表项C1
      继续列表项B1
    2. 列表项B2
  2. 列表项A2
    1. list item B1
      1. list item C1
      continuing list item B1
    2. list item B2
  3. list item A2

请参阅m:Template:List demo

切换列表类型

按列表

列表的类型(即列表项之前显示的标记类型)可以通过在CSS中设置list-style-type属性来更改:

Wikitext 渲染
<ol style="list-style-type:lower-roman">
  <li>关于作者</li>
  <li>第一版序言</li>
  <li>第二版序言</li>
</ol>
  1. 关于作者
  2. 第一版序言
  3. 第二版序言
<ol style="list-style-type:lower-alpha">
  <li>关于作者</li>
  <li>第一版序言</li>
  <li>第二版序言</li>
</ol>
  1. 关于作者
  2. 第一版序言
  3. 第二版序言

全站范围

标准的#、##、###样式可以在MediaWiki:Common.css中使用,与CSS相结合以生成传统的编号列表格式(例如:1、2、3;然后是a、b、c;再之后是i、ii、iii)。

ol { 
	list-style-type: decimal; 
}
ol li > ol { 
	list-style-type: lower-alpha; 
}
ol li > ol li > ol { 
	list-style-type: lower-roman; 
}

前方的第1行是默认内容,因此除非需要其他列表样式类型,否则无需使用它。

Wikitext 渲染
#list item A1
##list item B1
###list item C1
###list item C2
##list item B2
#list item A2
  1. list item A1
    1. list item B1
      1. list item C1
      2. list item C2
    2. list item B2
  2. list item A2

列表的额外缩进

在用大字体表示的数字列表中,某些浏览器无法显示超过两个数字。除非额外添加缩进格式(如果使用了多个冒号:每个冒号之间需要单独加缩进)。可以通过CSS来实现这一点:

ol { margin-left: 2cm}

或者,也可以像下面这样操作。

Wikitext 渲染 备注
:#abc
:#def
:#ghi
 
  1. abc
  2. def
  3. ghi
以冒号开头的若干行会形成一个类似描述列表的结构,这些行的内容仅作为定义描述而非具体的定义项,因此会进行缩进处理。不过,如果那些冒号出现在无序或有序列表中的“*”或“#”符号之前,那么整个列表就会被当作一个独立的定义描述来处理,从而全部内容进行缩进。
<ul>
  <ol>
    <li>abc</li>
    <li>def</li>
    <li>ghi</li>
  </ol>
</ul>
    1. abc
    2. def
    3. ghi
MediaWiki会将无序列表(ul)转换为一个带有style="margin-left: 2em"属性的div结构,从而让列表内容产生缩进效果。这是“最灵活的方法”,因为还可以使用除1以外的其他数字作为列表项的起始编号,具体详情请参见下文说明。
<ul>
#abc
#def
#ghi
</ul>
    1. abc
    2. def
    3. ghi
如上所述,对于“无列表项的无序列表”这一内容来说,其实它本身就是一个有序列表,只不过用#符号来表示而已。因此,生成的HTML代码以及最终的显示效果都是相同的。这是以1作为列表起始编号的“推荐”方式。

指定起始值

在HTML语法中,可以指定一个初始值。

<ol start="9">
<li>阿姆斯特丹</li>
<li>鹿特丹</li>
<li>海牙</li>
</ol>
  1. 阿姆斯特丹
  2. 鹿特丹
  3. 海牙

或:

<ol>
<li value="9">阿姆斯特丹</li>
<li value="8">鹿特丹</li>
<li value="7">海牙</li>
</ol>
  1. 阿姆斯特丹
  2. 鹿特丹
  3. 海牙

与表格的比较

除了支持自动编号功能外,这种编号列表还具备对齐项目内容的特性,其操作方式类似于使用表格语法。

{|
|-
| align=right |  9.|| 阿姆斯特丹
|-
| align=right | 10.|| 鹿特丹
|-
| align=right | 11.|| 海牙
|}

会显示:

9. 阿姆斯特丹
10. 鹿特丹
11. 海牙

这种非自动编号方式的优势在于,如果文本中提到了这些数字,那么对某个项目的插入或删除都不会影响数字的对应关系。

列表的复数行

请参阅 Template:Col-begin, Template:Col-break, Template:Col-end

多列项目无序列表

<div style="column-count:2">
* apple
* carpet
* geography
* mountain
* nowhere
* postage
* ragged
* toast
</div>

会显示:

  • apple
  • carpet
  • geography
  • mountain
  • nowhere
  • postage
  • ragged
  • toast
<div style="column-count:3">
* apple
* carpet
* geography
* mountain
* nowhere
* postage
* ragged
* toast
</div>

会显示:

  • apple
  • carpet
  • geography
  • mountain
  • nowhere
  • postage
  • ragged
  • toast

多列项目有序列表

<div style="column-count:3">
# #apple
#carpet
#geography
#mountain
#nowhere
#postage
#ragged
#toast
# carpet
# geography
# mountain
# nowhere
# postage
# ragged
# toast
</div>

会显示:

  1. #apple
  2. carpet
  3. geography
  4. mountain
  5. nowhere
  6. postage
  7. ragged
  8. toast
  9. carpet
  10. geography
  11. mountain
  12. nowhere
  13. postage
  14. ragged
  15. toast

在下面指定了起始值,使用HTML语法进行标注(第一列可以使用wiki语法或HTML语法)。

结合上一节中所解释的额外缩进:

{| valign="top"
|-
|<ul><ol start="125"><li>a</li><li>bb</li><li>ccc</li></ol></ul>
|<ul><ol start="128"><li>ddd</li><li>ee</li><li>f</li></ol></ul>
|}

会显示:

    1. a
    2. bb
    3. ccc
    1. ddd
    2. ee
    3. f

通过使用m:Template:multi-column numbered list,可以自动完成起始值的计算工作。只需要指定第一个起始值以及除最后一个列之外的每一列中的项目数量即可。在某一列中添加或删除一个项目时,只需调整该列中的项目数量这一个数值,而无需修改后续所有列的起始数值。

{{Multi-column numbered list|125|a<li>bb<li>ccc|3|<li>ddd<li>ee<li>f}}

会显示:

    1. a
    2. bb
    3. ccc
    1. ddd
    2. ee
    3. f
{{Multi-column numbered list|lst=lower-alpha|125|a<li>bb<li>ccc|3|<li>ddd<li>ee|2|<li>f}}

会显示:

    1. a
    2. bb
    3. ccc
    1. ddd
    2. ee
    1. f
{{Multi-column numbered list|lst=lower-roman|125|a<li>bb<li>ccc|3|<li>ddd<li>ee|2|<li>f}}

会显示:

    1. a
    2. bb
    3. ccc
    1. ddd
    2. ee
    1. f
{{Multi-column numbered list|lst=disc||a<li>bb<li>ccc||<li>ddd<li>ee||<li>f}}

会显示:

    1. a
    2. bb
    3. ccc
    1. ddd
    2. ee
    1. f

流线型风格或水平风格

也可以使用非常基本的格式来呈现简短的列表,例如:

''列表标题:'' 示例1,示例2,示例3

列表标题: 示例1,示例2,示例3

这种样式在页面上占用的空间较小,如果列表中的项数量不多,那么这种样式就非常合适。同时,这种样式也便于阅读,不需要进行复杂的编辑操作。除非是专有名词,否则列表项的开头应该是小写字母。

表格

单列表格与列表非常相似,但它支持排序功能。不过,如果 wikitext本身已经按照相同的排序键进行了排序,那么这种优势就不适用了。 多列表格允许对任意一列进行排序。

请参阅何时使用表格

将无序列表改为有序列表

使用CSS

ul { list-style: decimal }

无序列表被改为有序列表。这(只要CSS选择器不对此加以限制)适用于HTML源代码中的所有ul列表:

  • 那些用*生成的
  • 那些在维基文本中有‎<ul>
  • 那些由系统生成的

由于每个特殊页面和其他页面一样,都有一个基于页面名称的类,因此可以为每种类型分别指定列表是否应该有序。另请参阅用户贡献链入页面

然而,似乎不可能让所有页面历史列表都按顺序排列(除非让**所有**列表都按顺序排列),因为类名是基于所查看历史的页面的。

参见