基础
约 1667 字大约 6 分钟
2025-11-21
Markdown 是一种轻量级标记语言,通过简单标记语法,让普通文本具备格式化效果,核心目标是「易读易写」—— 纯文本编写,无复杂标签,直接阅读也清晰易懂。
一、概述
核心特性
- 可读性优先:纯文本格式,无冗余标签,直接阅读也自然流畅
- 语法简洁:基于标点符号设计,标记与语义高度一致(如
*强调*直观易懂) - 兼容性强:衍生版本丰富(Markdown Extra、MultiMarkdown 等),支持扩展表格、脚注等功能,可转换为 HTML、LaTeX、Docbook 等格式
- 灵感来源:源自纯文本电子邮件格式,兼顾写作效率与展示效果
主要用途
- 撰写博客(支持 WordPress 等主流平台)
- 编写项目说明文档(如 README.md)
- 快速生成演讲 PPT、Word 文档、LaTeX 论文
- 数据科学领域:支持动态可重复性研究文档
二、块元素
1. 段落和换行
- 段落:由连续行组成,空行(含仅空格/tab的行)分隔不同段落,无需缩进
- 强制换行:行尾加 2 个以上空格 + 回车,或用反斜线
\+ 回车这是第一段,行尾加两个空格 强制换行显示 这是第二段(与上一段空行分隔) 这是第三段\ 反斜线换行示例
2. 标题
支持两种语法,推荐使用 Atx 形式(更灵活):
Atx 形式(推荐)
# H1 一级标题
## H2 二级标题
### H3 三级标题
#### H4 四级标题
##### H5 五级标题
###### H6 六级标题Setext 形式(仅支持 H1-H2)
H1 一级标题
===
H2 二级标题
---3. 块引言
- 行首加
>,支持嵌套(多层>)和内部嵌套其他语法 - 可仅在段落第一行加
>,后续行自动继承
> 一级引言段落1
> 一级引言段落2
>
> > 嵌套二级引言
>
> 回到一级引言,支持嵌套列表:
> 1. 引言内有序列表
> 2. 列表项2
>
> > ## 引言内标题
> > `引言内代码`4. 列表
无序列表
支持 -、*、+ 作为标记(推荐 -),标记后需加空格
- 无序列表项1
- 无序列表项2
- 嵌套子项(缩进 3 空格或 1 tab)
- 嵌套子项
* 星号标记项(不推荐混合使用)
+ 加号标记项(不推荐混合使用)有序列表
数字 + 英文句点 + 空格,数字不影响最终排序(可统一用 1.)
1. 有序列表项1
1. 有序列表项2
1. 嵌套子项(缩进)
2. 嵌套子项
3. 有序列表项3列表高级用法
- 列表项含多段落:子段落需缩进 3 空格
- 列表项间空行:自动为内容添加
<p>标签(更美观) - 避免误触发:行首数字+句点前加反斜线
\(如1986\. 年份说明)
- 列表项1(含多段落)
子段落内容(缩进 3 空格)
子段落2
- 列表项2(空行分隔,自动加<p>标签)5. 代码块
基础用法(缩进式)
行首缩进 4 空格或 1 tab,适用于短代码块
普通段落:
const a = 1; // 缩进 4 空格的代码块
console.log(a);进阶用法(围栏式,推荐)
用 ``` 或 ````` 包裹,支持指定语言高亮(推荐)
```js
// 指定 JavaScript 语法高亮
function demo() {
return "代码块";
}// 嵌套代码块(外层用更多反引号)
```html
<div>嵌套代码块示例</div>
```
### 6. 分隔线
一行内用 3 个以上 `*`、`-`、`_`,行内无其他内容
```markdown
内容1
---
内容2
***
内容3
___三、行内元素
1. 链接
行内链接(推荐,直观)
[链接文本](https://example.com "可选标题,hover显示")
[相对路径链接](/about/ "内部页面")
[无标题链接](https://example.com)参考式链接(适合多次引用同一链接)
// 正文引用
这是[示例链接][id1],这是[重复引用链接][id1]
// 链接定义(可放文末)
[id1]: https://example.com "可选标题"
[google]: https://google.com/ "Google"
// 简化写法(链接文本=标识ID)
[Google][]
[google]: https://google.com/2. 强调
- 单
*或_:斜体(<em>) - 双
*或_:粗体(<strong>) - 符号需成对使用,不可混合
*斜体文本*(推荐)
_斜体文本_
**粗体文本**(推荐)
__粗体文本__
***粗斜体文本***3. 行内代码
用反引号 ` 包裹,含反引号时用多组反引号
行内代码:`console.log("hello")`
含反引号的代码:`` `code` 中的反引号 ``
HTML 标签示例:`<div class="demo">`4. 图片
语法与链接类似,前缀加 !,无宽高控制语法(需宽高时用 <img> 标签)
行内图片

参考式图片
![替代文本][imgId]
[imgId]: /path/to/img.webp "可选标题"自定义宽高(HTML 标签)
<img src="/path/to/img.webp" alt="替代文本" width="300" height="200">5. 其他行内样式
| 效果 | Markdown 语法 | 说明 |
|---|---|---|
| 删除线 | ~~删除文本~~ | 双波浪线包裹 |
| 换行 | 行尾加 2 空格 + 回车 | 强制换行 |
| 表情符号 | :emoji名称: | 例::smile: → 😄 |
四、扩展功能
1. 表格
- 表头与内容用
-分隔,:控制对齐(无:则默认左对齐) -数量至少 1 个,可灵活调整
| 左对齐 | 居中对齐 | 右对齐 |
| :----- | :------: | -----: |
| 内容1 | 内容2 | 内容3 |
| 长文本内容 | 居中示例 | 数值100 |2. 自动链接
无需标记文本,直接用 <> 包裹网址或邮箱
<https://example.com>
<contact@example.com>3. 转义字符
用反斜线 \ 转义 Markdown 特殊符号,支持转义的符号:
\ 反斜线
` 反引号
* 星号
_ 底线
{} 大括号
[] 方括号
() 括号
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号示例:\*这不是斜体\* → 这不是斜体
4. 行内 HTML
支持直接插入 HTML 标签,块级标签需前后空行,且不缩进
普通段落
<div style="color: red;">HTML 块级标签,前后空行</div>
<span style="color: blue;">行内 HTML 标签</span>注意:HTML 块内不解析 Markdown 语法
5. 快捷键
| 效果 | Markdown 语法 | 快捷键(Windows/Linux) | 快捷键(Mac) |
|---|---|---|---|
| 粗体 | **文本** | Ctrl + B | ⌘ + B |
| 斜体 | *文本* | Ctrl + I | ⌘ + I |
| 行内代码 | `代码` | 选中内容 + ` | 选中内容 + ` |
| 链接 | [文本](链接) | Ctrl + K | ⌘ + K |
| 图片 |  | Ctrl + Shift + I | ⌘ + Shift + I |
五、注意事项
- 语法兼容性:不同平台(GitHub、掘金等)对扩展语法(如表格、脚注)支持有差异,需按需调整
- 图片路径:遵循前端资源路径规则(
/开头对应 public 目录,无/对应相对目录) - 性能优化:图片推荐用 WebP 格式,文档中避免冗余标记,保持可读性