Markdown 标题、段落与换行
这一章讲 Markdown 的"骨架"——标题、段落、换行、分割线。这些是最基础的语法,但里面藏着不少容易踩坑的细节(比如行末两个空格、井号后面必须有空格)。读完你就能写出结构清晰的文档。
1. 标题(Heading)
Markdown 标题用 # 表示,几个 # 就是几级标题,最多六级。注意 # 和文字之间必须有一个空格:
# 一级标题(h1)
## 二级标题(h2)
### 三级标题(h3)
#### 四级标题(h4)
##### 五级标题(h5)
###### 六级标题(h6)
####### 七个井号无效,会渲染成普通段落。
2. 闭合式标题(Setext)
除了 # 风格(atx 风格),Markdown 还支持另一种下划线风格(setext),但只支持 h1 和 h2:
一级标题
========
二级标题
--------
(行下用 = 或 - 标记,只支持两级)
Setext 在老博客里常见,新项目建议统一用 #,更直观、层级清晰。
3. 段落(Paragraph)
Markdown 段落的规则简单粗暴:用空行分隔的就是两段。同段内的换行(一个回车)在渲染时会被合并成一个空格:
第一段第一行。
第一段第二行(同段内换行会被合并成一个空格)。
第二段。前面必须有一个空行。
第三段。注意段落之间空行的作用。
注意:空行里不能有任何空白字符——有些人习惯留几个空格"对齐",可能导致段落不被识别。空行就老老实实是空行。
4. 换行(Line Break)
想在段落内强制换行?有两种方式:
- 行末两个空格 + 回车:传统写法,CommonMark 和 GFM 都支持,渲染为
<br>。 - 反斜杠结尾:CommonMark 扩展,更直观,但部分老引擎不支持。
行末两个空格加换行
表示软换行(渲染为 <br>)
或者用反斜杠结尾\
也能软换行(CommonMark 支持)
普通单独换行
会被合并成同一段。
注意:两个空格的写法肉眼看不见,所以编辑器最好开启"显示空格/换行符"。VS Code 在搜索框勾选正则模式,用 \s+$ 就能找出所有行末空格。
5. 水平分割线(Horizontal Rule)
三个或更多相同符号就能画一条分割线:
下面是一条分割线:
---
上面这条是分割线。
下面这些写法都等价:
***
___
(三个或更多 -、*、_ 都行)分割线在 README 里常用来分隔章节,但现代文档更推荐用二级标题代替——结构更清晰、能进目录。
6. 最佳实践
✅ 推荐:井号和文字之间加一个空格
## 这是标题
❌ 不推荐:紧跟文字,部分引擎不识别
##这是标题
✅ 推荐:标题前后留空行
前一段。
## 标题
后一段。
❌ 避免:跨级跳标题(h1 直接到 h3)
(破坏文档大纲层级)
7. 常见坑
- 井号没空格:
##标题不会渲染成标题,需要写成## 标题。 - 标题前没空行:上一段文字会和标题挤在一行。常见于新手 README。
- 跨级跳标题:从 h1 直接到 h3,会破坏文档大纲(TOC),无障碍工具读起来也奇怪。
- 用标题只是想放大字体:标题是结构语义,不是样式工具。要放大请用 HTML 的
<big>或 CSS。
小结
这一章你学会了 Markdown 的最基本结构:标题、段落、换行、分割线。下一篇我们看文本格式——粗体、斜体、删除线,让文字有"语气"。
← 上一篇 Markdown 简介
下一篇 文本格式 →