第 4 章 列表与任务列表
本章覆盖:
| 语法 | 符号 | 说明 |
|---|---|---|
| 无序列表 | - / * / + |
三种符号等价 |
| 有序列表 | 1. / 1) |
数字 + 点或右括号 |
| 嵌套列表 | 缩进 2~4 空格 | 子项缩进 |
| 任务列表 | - [ ] / - [x] |
GFM 扩展 |
4.1 无序列表
源码:
- 苹果
- 香蕉
- 橘子也可用 * 或 +:
* 苹果
* 香蕉
* 橘子+ 苹果
+ 香蕉
+ 橘子渲染效果:三个无序列表项。
最佳实践:同一文档内统一用一种符号(推荐
-)。
4.2 有序列表
源码:
1. 第一项
2. 第二项
3. 第三项CommonMark 也支持右括号写法:
1) 第一项
2) 第二项
3) 第三项数字无需连续(即使写重复数字也会按顺序渲染):
1. 第一项
1. 第二项
1. 第三项渲染效果:依然显示 1. 2. 3.。
最佳实践:保持数字准确,方便源码阅读。
4.3 嵌套列表
子项缩进 2 个或 4 个空格:
源码:
- 水果
- 苹果
- 香蕉
- 蔬菜
- 菠菜
- 土豆渲染效果:一级列表"水果"“蔬菜”,其下各嵌两个子项。
4.4 多级嵌套
源码:
1. 第一级
1. 第二级 A
2. 第二级 B
- 第三级 X
- 第三级 Y
2. 第一级第二项渲染效果:三级嵌套,第一项下含第二级 A/B,第二级 B 下又含第三级 X/Y。
4.5 列表中含段落
源码:
- 列表项第一段。
列表项第二段,需缩进 2 空格对齐。
- 第二个列表项。渲染效果:第一项含两段,第二项含一段。
4.6 列表中含引用与代码块
源码:
- 列表项含引用:
> 这是一段引用。
- 列表项含代码块:
```python
print("hi")
```渲染效果:第一项含引用块;第二项含 Python 代码块。
4.7 任务列表(GFM)
源码:
- [x] 已完成任务
- [ ] 未完成任务
- [ ] 待办事项渲染效果:渲染为带复选框的列表,第一项打勾。
可嵌套于普通列表:
1. 项目 A
- [x] 子任务 1
- [ ] 子任务 2
2. 项目 B4.8 松散列表与紧凑列表
列表项之间若有空行,则为"松散"(每项包 <p>);无空行则为"紧凑"。
源码(松散):
- 第一项
- 第二项渲染效果:每项内部包 <p>,行距更宽。
源码(紧凑):
- 第一项
- 第二项渲染效果:列表紧凑。
4.9 综合实例
源码:
## 今日计划
- [ ] 学习 Markdown 列表
- [x] 无序列表
- [x] 有序列表
- [ ] 任务列表
- [ ] 完成笔记整理
1. 优先级 1
2. 优先级 2
- 子项 A
- 子项 B
引用一段:
> 列表 + 引用 + 代码组合:
```python
print("example")
```渲染效果:今日计划含已完成与未完成任务;其后有序列表含嵌套子项;最后引用块与代码块。
4.10 小结
- 无序列表用
-/*/+,统一符号 - 有序列表用
1./1),保持数字准确 - 嵌套用 2 空格缩进
- 任务列表用
- [ ]/- [x](GFM) - 列表中可嵌套段落、引用、代码块