MDUtil

Markdown 列表

行首写 - 是无序列表,写 1. 是有序列表。本文介绍嵌套、起始编号、列表项里的段落和代码,以及列表有时会重新编号的原因。

简短回答

Markdown 怎么写列表?

无序列表在每行开头写 -、* 或 + 加一个空格;有序列表在每行开头写数字和英文句点,例如 1.。把列表项缩进,就会嵌套在上一项下面。

Markdown
- 牛奶
- 鸡蛋
- 面包

1. 预热烤箱
2. 搅拌面糊
3. 烤 30 分钟

显示效果

  • 牛奶
  • 鸡蛋
  • 面包
  1. 预热烤箱
  2. 搅拌面糊
  3. 烤 30 分钟

列表的写法和示例

列表只有几条关于符号和缩进的规则,下面的示例逐条演示。

无序列表

-、*、+ 生成同样的列表。一个列表里只用一种符号,换符号会开始一个新列表。

Markdown
- 规划行程
- 预订机票
- 收拾行李

显示效果

  • 规划行程
  • 预订机票
  • 收拾行李

有序列表

只有第一个数字有作用,后面的项会按顺序编号,所以每项都可以写 1.,调整顺序时不用改数字。

Markdown
1. 预热烤箱
1. 搅拌面糊
1. 烤 30 分钟

显示效果

  1. 预热烤箱
  2. 搅拌面糊
  3. 烤 30 分钟

从其他数字开始

第一个数字决定从几开始,被打断的列表可以接着编号。

Markdown
3. 第三步
4. 第四步

显示效果

  1. 第三步
  2. 第四步

嵌套列表

子项要缩进到和上一项的文字对齐:- 下面缩进两个空格,1. 下面缩进三个空格。

Markdown
1. 水果
   - 苹果
   - 梨
2. 蔬菜
   - 胡萝卜
     - 橙色的
     - 紫色的

显示效果

  1. 水果
    • 苹果
    • 梨
  2. 蔬菜
    • 胡萝卜
      • 橙色的
      • 紫色的

列表项里的段落和代码

空一行,再把后续文字或代码缩进到和列表项文字对齐。

Markdown
1. 安装 Pandoc:

   ```bash
   brew install pandoc
   ```

2. 查看版本:

   ```bash
   pandoc --version
   ```

显示效果

  1. 安装 Pandoc:

    brew install pandoc
    
  2. 查看版本:

    pandoc --version
    

不想变成列表的数字

以数字加英文句点开头的行会变成列表,在句点前加反斜杠就会保留为普通文字。

Markdown
1986\. 那是很好的一年。

1986. 那是很好的一年。

显示效果

1986. 那是很好的一年。

  1. 那是很好的一年。

各平台的列表支持

列表几乎处处可用,Notion 等编辑器会在输入时把符号转换成列表块。

应用支持情况说明
GitHub / GitLab支持三种无序符号、有序列表和嵌套都支持,会保留起始编号。
Discord支持消息里可以用 -、* 和 1. 列表。
Slack有差异在输入框里输入 * 或 1. 加空格会开始列表。
Obsidian支持支持列表和嵌套,按 Tab 缩进列表项。
Notion支持输入 - 或 1. 加空格会生成列表块。
Typora支持支持无序、有序和嵌套列表。

常见问题

Markdown 无序列表怎么写?

每行开头写 -、* 或 +,后面加一个空格。三种符号生成同样的 <ul> 列表,一个列表里统一用一种。

为什么有序列表又从 1 开始了?

列表项之间的内容打断了列表,通常是没有缩进到列表项下面的文字或代码。把它缩进到和列表项文字对齐,或者让下一个列表从需要的数字开始,例如 4.。

怎样写嵌套列表?

把子项缩进到和父项文字对齐:- 下面缩进两个空格,1. 下面缩进三个空格。大多数渲染器也接受四个空格。

有序列表的数字有用吗?

只有第一个数字有用,它决定从几开始,后面的项会按顺序编号,所以每项都写 1. 也没问题。

怎样让两个列表紧挨着又互相独立?

第二个列表换一种符号,例如前一个用 -、后一个用 *;或者在两个列表之间加一行文字或 HTML 注释 <!-- -->。

列表项里怎么加段落或代码块?

空一行,再缩进到和列表项文字对齐:- 下面两个空格,1. 下面三个空格。

行首是数字但不想变成列表怎么办?

在句点前加反斜杠:2024\. 是很好的一年。

紧凑列表和宽松列表有什么区别?

列表项之间没有空行时是紧凑列表。只要有两项之间有空行,整个列表就变成宽松列表:每项都是一个段落,项与项之间的距离更大。