一、有序列表
在文本前面添加数字+英文句点(.)+空格可以构成有序列表。如下表,最终生成的列表前面的编号和前面的数字没有绝对关系,总是从第一个数字开始依次增加。(和C++的枚举有一点点类似)
注意:但也有很多 Markdown 解析器完全忽略前导数字,总是从 1 开始。
Markdown | HTML | 预览 |
---|---|---|
1. 有序列表项 1 2. 有序列表项 2 | <ol> <li>有序列表项 1</li> <li>有序列表项 2</li> </ol> |
|
1. 有序列表项 1 1. 有序列表项 2 | <ol> <li>有序列表项 1</li> <li>有序列表项 2</li> </ol> |
|
5. 有序列表项 1 6. 有序列表项 2 | <ol start="5"> <li>有序列表项 1</li> <li>有序列表项 2</li> </ol> |
|
具体的输入输出如下:
markdown的形式输入:
或者这样输入:
HTML渲染后输出:
不难看出都输入1或1-8所得的结果都是1-8;
现在改变第一个编号:
HTML渲染后输出:
我们可以发现编号从2-9,即第一个编号决定了后面的编号怎么排。
二、无序列表
无序列表可以在文本前面加减号(-
)/星号(*
)/加号(+
) 再加空格实现。(符号可以任选其一,Markdown会自动将其转换为实心圆点。)
如下表:(空格最多加4个,超过4个将变为代码块,一般情况下加一个空格即可)
Markdown | HTML | 预览 |
---|---|---|
- 无序列表项 1 - 无序列表项 2 | <ul> <li>无序列表项 1</li> <li>无序列表项 2</li> </ul> |
|
* 无序列表项 1 * 无序列表项 2 | <ul> <li>无序列表项 1</li> <li>无序列表项 2</li> </ul> |
|
+ 无序列表项 1 + 无序列表项 2 | <ul> <li>无序列表项 1</li> <li>无序列表项 2</li> </ul> |
|
详细的输入输出如下:
markdown的形式输入:
HTML渲染后输出:
可以看出3种情况下输出都相同,满足定义。
三、列表嵌套
有序列表、无序列表都是可以嵌套的,我们可以通过缩进来创建多层嵌套的列表。
在列表项前面添加两个及以上空格/制表符可以把该行变成子列表。(更具体点来说就是两行文本的开始相差大于等于2个空格即可缩进。)
如下表所示:
Markdown | HTML | 预览 |
---|---|---|
1. 有序列表项 1 1. 有序列表项 2 | <ol> <li> 有序列表项 1 <ul> <li> 无序列表项 2 </li> </ul> </li> </ol> |
|
- 无序列表项 1 - 无序列表项 2 | <ul> <li> 无序列表项 1 <ul> <li> 无序列表项 2 </li> </ul> </li> </ul> |
|
另外,还有有序嵌无序,无序嵌有序,连续嵌套等等。示例如下:
markdown形式输入:
HTML渲染后输出:
- 第一块是+加空格加文本,两行文本头间距两个空格;
- 第二块第一行,-和文本之间加了两个空格,为了满足两行文本开头相距至少两个空格的条件,第二行缩进至少3个空格;
- 第三块和第四块类似,是多层嵌套,不过第一行和第二行之间多了一个空行,我不清楚是怎么回事,知道的同学请在评论区留言。
四、任务列表
有序列表和无序列表都可以做为任务列表使用,任务列表会在每项前面添加一个复选框(方括号和空格)来创建任务列表。方括号中可以是空格(表示未完成)或小写的字母x(表示已完成)。
下面的 Markdown 代码:
**有序任务列表**
1. [x] 已选中的项目
1. [ ] 未选中的项目
**无序任务列表**
- [x] 已选中的项目
- [ ] 未选中的项目
会生成下面的效果:
任务列表可以用于跟踪任务、待办事项等。
五、定义列表(Definition List)
使用冒号(:)来定义列表项是Markdown中的一种特殊列表格式,称为定义列表(Definition List)或描述列表(Description List)。它由两部分组成:术语和描述。
冒号可以放在列表项后面,也可以放在列表项前面。
下面的 Markdown 代码:
术语1
: 描述1
术语2
: 描述2
术语3
: 描述3
如上,每个术语都在一行上,然后在下一行上,先打一个冒号,再写上对应的描述。
会生成下面的 HTML 代码:
<p>
术语1
: 描述1
</p>
<p>
术语2
: 描述2
</p>
<p>
术语3
: 描述3
</p>
渲染效果类似下面这样:
术语1 : 描述1
术语2 : 描述2
术语3 : 描述3
定义列表通常用于解释术语或提供描述性的信息。它可以用于创建词汇表、说明文档、技术文档等。使用冒号来定义列表项可以使文档更加清晰和易读。
注意:1.并非所有的 Markdown 解析器都支持,使用时请先测试。
2.冒号和术语之间不需要对齐,Markdown会自动处理格式。另外,可以在描述中使用其他Markdown语法,如链接、图片等。