MDUtil

Markdown 分隔线

单独一行写三个短横线就会画出一条横贯页面的分隔线:---。本文介绍三种可用的符号、前面必须空一行的原因,以及文件开头的前置元数据。

简短回答

Markdown 怎么画分隔线?

单独一行写三个或更多短横线 ---、星号 *** 或下划线 ___,并在上面空一行。它会生成 HTML 的 <hr> 元素,也就是分隔文档两部分的一条横线。

Markdown
第一部分。

---

第二部分。

显示效果

第一部分。


第二部分。

分隔线的写法和示例

几种写法的效果相同,唯一要注意的是上面紧挨着的那一行文字。

三种符号,同一个结果

短横线、星号和下划线画出的线完全一样。

Markdown
上面

---

中间

***

中间

___

下面

显示效果

上面


中间


中间


下面

加空格或写得更长

同一种符号写三个及以上都可以,符号之间加不加空格都行。

Markdown
- - -

* * * * *

----------

显示效果




先空一行

紧挨在一行文字下面时,--- 会把这行文字变成标题。中间空一行,才是分隔线。

Markdown
这一行会变成标题
---

这一行仍然是段落

---

显示效果

这一行会变成标题

这一行仍然是段落


<hr> 标签

允许 HTML 的地方,<hr> 画出同样的线。

Markdown
上面

<hr>

下面

显示效果

上面


下面

引用和列表里的分隔线

引用和列表项里也可以画分隔线。

Markdown
> 引用的第一部分
>
> ---
>
> 引用的第二部分

显示效果

引用的第一部分


引用的第二部分

文件开头的前置元数据

在文件最开头,两行 --- 之间的内容是前置元数据,例如标题等设置。Jekyll、Hugo 和 Obsidian 会隐藏它,GitHub 会显示成表格。

Markdown
---
title: 我的第一篇文章
date: 2026-10-14
---

# 我的第一篇文章

显示效果

我的第一篇文章

各平台的分隔线支持

所有 Markdown 渲染器都能画分隔线,聊天软件和编辑器各有不同。

应用支持情况说明
GitHub / GitLab支持三种写法都支持,文件开头的 --- 会显示为前置元数据。
Obsidian支持三种写法都支持,笔记开头的 --- 用来写属性。
Notion支持在空行输入 --- 会生成分隔线块。
Discord / Slack不支持没有分隔线,符号会原样显示。

常见问题

---、*** 和 ___ 有什么区别?

显示效果没有区别,三者都生成同样的 <hr>。短横线最常用。

为什么 --- 把我的文字变成了标题?

紧挨在文字下面的一行短横线会把这行文字变成二级标题。在文字和 --- 之间空一行即可。

怎样改变分隔线的颜色或粗细?

Markdown 做不到。允许 CSS 的地方可以写 <hr style="border-top: 2px solid #999">,GitHub 等很多网站会去掉 style。

文件开头的 --- 是什么?

在 Jekyll、Hugo、Obsidian 等很多工具里,文件最开头两行 --- 之间的内容是前置元数据,例如标题等设置,不会显示在页面上。GitHub 会把它显示成表格。

Discord 支持分隔线吗?

不支持,Discord 会把 --- 原样显示。

Notion 里怎么加分隔线?

在空行输入 ---,Notion 会把它变成分隔线块。

怎样插入分页符?

Markdown 没有分页符。Markdown 转 PDF 和 Markdown 转 Word 会在只写了 \newpage 的一行开始新的一页,这是 Pandoc 和 LaTeX 用户常用的写法。

分隔线对屏幕阅读器有帮助吗?

<hr> 表示话题的转换,但不会说明新的部分是什么。文档的结构应该用标题来表达。