📝 Markdown 完整语法学习笔记(Typora版)
本公主把 Markdown 语法从头到尾啃了一遍! 这份笔记涵盖所有常用语法,跟着学1小时就上手~ 🎉
目录
一、写在前面 · Markdown 是什么?
Markdown 由 John Gruber 创建(官方语法文档在这),是一种轻量级标记语言,用纯文本格式写文档,自动渲染成漂亮的排版。
本笔记以 Typora 编辑器为准,Typora 使用的是 GitHub Flavored Markdown(GFM),比标准Markdown多了任务列表、表格、删除线、表情等好用的功能。
💡 学Markdown的理由:写博客笔记、README文档、GitHub项目说明、Typora写日记…一劳永逸!
二、块级元素(Block Elements)
📄 2.1 段落与换行
段落 = 连续的一行或多行文字。
这是第一段文字。
这是第二段文字(段落之间用空行隔开)。| 操作 | 效果 | 说明 |
|---|---|---|
直接按 Return | 新起一段 | Typora中一行空行即可 |
按 Shift + Return | 同一段内换行 | 单行间距,不另起一段 |
行尾加 两个空格 再回车 | 兼容其他编辑器的换行 | 建议养成习惯 |
插入 <br/> | 强制换行 | HTML写法,通用性最好 |
⚠️ 注意:大多数Markdown解析器会忽略单独的回车换行,所以跨平台写作时,建议行尾加两个空格或使用
<br/>。
📑 2.2 标题(Headings)
用 # 号开头,1~6个井号 = 1~6级标题。井号后面要加一个空格再写标题内容。
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题效果:
一级标题(最大)
二级标题
三级标题
…
六级标题(最小)
Typora小技巧:输入井号+标题文字+回车,自动生成标题。
建议:一篇文章只用1个一级标题(通常是文章主标题),下级标题规范地使用二三四级,不要跳级(比如三级后面直接跟五级)。
💬 2.3 引用(Blockquotes)
用 > 符号开头,表示引用别人的话或内容。
> 这是引用内容的第一行。>> 这是引用的第二行。
> 这是另一个引用段落。效果:
这是引用内容的第一行。
这是引用的第二行。
嵌套引用:多加一个 > 就行
> 外层引用内容>> > 内层嵌套引用外层引用内容
内层嵌套引用
💡 Tip:引用里也可以嵌套标题、列表、代码块等,不过别嵌套太深,最多2~3层就够了。
📋 2.4 列表(Lists)
无序列表
用 *、+ 或 - 开头,效果一样:
* 苹果* 香蕉* 草莓或
- 苹果- 香蕉- 草莓效果:
- 苹果
- 香蕉
- 草莓
有序列表
用 数字. 开头:
1. 第一步2. 第二步3. 第三步效果:
- 第一步
- 第二步
- 第三步
⚠️ 注意:Markdown的有序列表不强制要求数字顺序,如果你全写
1.,最终渲染出来也是 1. 2. 3. … 但为了可读性,建议还是按顺序写。
嵌套列表
缩进2个空格或1个Tab:
- 水果 - 苹果 - 红富士 - 嘎啦 - 香蕉- 蔬菜 1. 白菜 2. 萝卜效果:
- 水果
- 苹果
- 红富士
- 嘎啦
- 香蕉
- 苹果
- 蔬菜
- 白菜
- 萝卜
✅ 2.5 任务列表(Task List)
GFM特有的语法,用 [ ](未完成)和 [x](已完成):
- [ ] 写Markdown笔记- [ ] 发博客- [x] 搞定Mermaid语法- [ ] 复习单词 🔥- [x] 今天吃了火锅效果:
- 写Markdown笔记
- 发博客
- 搞定Mermaid语法
- 复习单词 🔥
- 今天吃了火锅
💡 Typora中:点击复选框可以直接切换完成/未完成状态,超方便! 也可以和普通列表混着用,比如嵌套在有序列表里。
💻 2.6 代码块(Fenced Code Blocks)
用三个反引号 ``` 包裹代码块。强烈建议加上语言名称,这样会自动语法高亮!
```pythondef hello(): print("Hello, Markdown!")```
```javascriptfunction hello() { console.log("Hello, Markdown!");}```
```cssbody { background: #f0f0f0; color: #333;}```
```bashecho "Hello, Markdown!"```Typora小技巧:输入三个反引号 ``` 后按回车,自动生成代码块框。
⚠️ 支持的编程语言:js / javascript, py / python, html, css, bash / shell, java, c, cpp, ruby, go, rust, sql, json, yaml, xml, diff, markdown 等数十种。
行内代码(见后文行内元素部分)用于在段落中高亮单个代码词汇。
➗ 2.7 数学公式块(Math Blocks)
用 $$ 包裹 LaTeX数学表达式:
$$\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}\mathbf{i} & \mathbf{j} & \mathbf{k} \\\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\\end{vmatrix}$$渲染效果(支持MathJax引擎):
常用LaTeX数学符号速查:
| 写法 | 渲染效果 | 含义 |
|---|---|---|
\alpha | α | 阿尔法 |
\beta | β | 贝塔 |
\sum | ∑ | 求和 |
\int | ∫ | 积分 |
\infty | ∞ | 无穷大 |
\frac{a}{b} | a/b | 分数 |
\sqrt{x} | √x | 平方根 |
\pm | ± | 正负号 |
\times | × | 乘号 |
\rightarrow | → | 右箭头 |
💡 Typora步骤:输入
$$+ 回车 → 自动弹出数学编辑框 → 输入LaTeX代码即可。
📊 2.8 表格(Tables)
Markdown表格语法在Typora中可以自动生成,也可以手写:
| 姓名 | 年龄 | 爱好 ||------|------|------|| 火花花 | 18 | 写博客、吃火锅 || 仙贝 | ? | 摸鱼、学习 |效果:
| 姓名 | 年龄 | 爱好 |
|---|---|---|
| 火花花 | 18 | 写博客、吃火锅 |
| 仙贝 | ? | 摸鱼、学习 |
对齐方式
用冒号 : 的位置控制:
| 左对齐 | 居中对齐 | 右对齐 ||:-------|:--------:|-------:|| 内容1 | 内容2 | 内容3 || 左对齐 | 居中 | 右对齐 |效果:
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 内容1 | 内容2 | 内容3 |
| 左对齐 | 居中 | 右对齐 |
对齐规则记忆:
:---= 左对齐(冒号在左):--:= 居中对齐(冒号在两边)---:= 右对齐(冒号在右)
⚠️ 注意:表格的
|和-必须对齐,分割线的-至少3个。但Typora会自动帮你格式化,手写时不用太纠结对齐。
表格中支持行内格式:加粗、斜体、链接、代码等都可以用!
📌 2.9 脚注(Footnotes)
在正文要注释的地方写 [^标签名],然后在文档末尾或任意位置定义脚注内容:
Markdown是一个很牛的工具[^md]。
[^md]: Markdown由John Gruber于2004年创建,是一种轻量级标记语言。效果: Markdown是一个很牛的工具1。
💡 鼠标悬停在脚注编号上可以看到内容预览。
➖ 2.10 分割线(Horizontal Rules)
空行中输入 *** 或 --- 或 ___ 然后回车:
这是上面内容
***
这是下面内容效果:
⚠️ 注意:
---也是YAML元数据的分隔符。如果写在文档最开头,会被识别为YAML。建议正文中用***或___来避免混淆。
🧾 2.11 YAML 元数据(Front Matter)
在文档最开头用 --- 包裹起来的区块,写文章的元信息:
---title: "我的文章标题"date: 2026-05-20tags: [教程, Markdown]categories: 技术author: 火花花---Typora小技巧:输入 --- 回车自动弹出元数据编辑框。
💡 常见YAML字段:title(标题)、date(日期)、tags(标签)、categories(分类)、author(作者)、description(摘要)、published(是否发布)、pinned(是否置顶)、comment(是否开启评论)等。
📑 2.12 目录(Table of Contents,TOC)
在任意位置写 [toc],Typora会自动生成全文标题目录:
[toc]💡 目录会根据你写的标题动态更新,增删改标题后目录自动同步,非常方便!
📈 2.13 图表(Diagrams)
Typora支持 流程图、时序图、Mermaid图表。需要先在偏好设置中开启:
文件 → 偏好设置 → Markdown → 勾选「图表」
具体语法可以看我之前写的另一篇笔记 👉 📊 Mermaid 常用语法速查表
支持的图表类型:
- 流程图(Flowchart)
- 时序图(Sequence Diagram)
- 思维导图(Mindmap)
- 饼图(Pie Chart)
- 甘特图(Gantt Chart)
- ER关系图(Entity Relationship Diagram)
🗣️ 2.14 Callouts / 提示框(GitHub Style Alerts)
Typora 1.8+ 版本支持 GitHub Style Alerts,需要在偏好设置中开启:
> [!NOTE] 这是注意事项> 这里写注意内容
> [!TIP] 小贴士> 这是一个有用的提示
> [!WARNING] 警告> 这里要小心了!
> [!CAUTION] 危险> 千万别这么做!
> [!IMPORTANT] 重要> 这部分必须记住效果:
[!NOTE] 这是注意事项 这里写注意内容
[!TIP] 小贴士 这是一个有用的提示
[!WARNING] 警告 这里要小心了!
[!CAUTION] 危险 千万别这么做!
[!IMPORTANT] 重要 这部分必须记住
三、行内元素(Span Elements)
行内元素是在段落中使用的标记,输入后立即渲染效果。
🔗 3.1 链接(Links)
行内式链接(最常用)
[显示文字](链接地址 "可选标题")
[点击去Google](https://www.google.com "搜索")效果: 点击去Google
内部跳转链接
链接到本文章的某个标题:
[跳转到标题部分](#三行内元素span-elements)💡 Typora中:按住
Ctrl(Mac是Command)+ 点击链接,跳转过去。
参考式链接(适合多次引用同一链接)
这是[百度][baidu]和[谷歌][google]。
然后在文档末尾定义:[baidu]: https://www.baidu.com "百度一下"[google]: https://www.google.com "谷歌搜索"隐式链接名(链接文字本身当标签)
[Google][] 是一个搜索引擎。
[Google]: https://www.google.com🌐 3.2 URL / 网址
用尖括号包裹URL会被自动转换:
<https://www.example.com>Typora还会自动识别标准网址(带www或https的),直接显示为可点击链接。
🖼️ 3.3 图片(Images)
图片语法和链接很像,但前面加个 !:

本地图片(放在同目录下):
拖拽插入:直接把图片文件拖进Typora自动插入!
💡 YAML中设置根路径:在Front Matter中添加
typora-root-url: /User/xxx/Website/,然后图片路径就可以写相对路径了。
✨ 3.4 斜体(Emphasis)
用 单 * 或 单 _ 包裹文字:
*这是斜体文字*_这也是斜体_效果: 这是斜体文字 / 这也是斜体
⚠️ 注意:GFM中下划线用在单词内部不会被识别(比如
do_this_and_that中的下划线不会被当作斜体),所以推荐用*号来表示斜体。
💪 3.5 加粗(Strong)
用 双 ** 或 双 __ 包裹:
**这段文字加粗**__这段也加粗__效果: 这段文字加粗 / 这段也加粗
💡 加粗 + 斜体:
***三个星号***→ 三个星号效果
⌨️ 3.6 行内代码(Code)
用反引号 `(键盘上1左边的键)包裹:
使用 `printf()` 函数可以输出内容。`npm install` 命令安装依赖。效果: 使用 printf() 函数可以输出内容。npm install 命令安装依赖。
💡 如果代码里本来就包含反引号,用双反引号包裹:
print(“hello”)
3.7 删除线(Strikethrough)
GFM特有语法,用双波浪线 ~~ 包裹:
~~这句话被删掉了~~这是~~错误的~~正确的说法效果: 这句话被删掉了 / 这是错误的正确的说法
3.8 下划线(Underlines)
Markdown没有原生的下划线语法,需要用HTML标签:
<u>这段文字有下划线</u>效果: 这段文字有下划线
😊 3.9 表情符号(Emoji)
两种用法:
:smile: → 😄:heart: → ❤️:fire: → 🔥:rocket: → 🚀:100: → 💯或者直接输入Emoji(Mac按 Ctrl+Cmd+空格 打开表情面板,Windows按 Win+.):
😄 ❤️ 🔥 🚀 ✅ ❌ ⭐ 🎉 💕😤👸
常用Emoji速查表:
| 输入 | 效果 | 输入 | 效果 |
|---|---|---|---|
:smile: | 😄 | :heart: | ❤️ |
:fire: | 🔥 | :rocket: | 🚀 |
:100: | 💯 | :+1: | 👍 |
:check: | ✅ | :x: | ❌ |
:star: | ⭐ | :tada: | 🎉 |
:cry: | 😢 | :angry: | 😠 |
:sleeping: | 😴 | :coffee: | ☕ |
∑ 3.10 行内数学公式(Inline Math)
需要用 $ 包裹LaTeX代码(需在偏好设置中开启):
爱因斯坦的质能方程:$E = mc^2$
极限公式:$\lim_{x \to \infty} \exp(-x) = 0$效果: 爱因斯坦的质能方程:
极限公式:
💡 Typora中:输入
$→ 按ESC键 → 输入LaTeX代码 → 自动预览效果。
ₓ 3.11 下标(Subscript)
用 ~ 包裹(需在偏好设置中开启):
H~2~O(水的化学式)
X~long\ text~(长下标需要反斜杠转义空格)效果: H2O / Xlong text
ˣ 3.12 上标(Superscript)
用 ^ 包裹(需在偏好设置中开启):
面积 = 长 × 宽(单位:m^2^)
X^3^ 表示X的三次方效果: 面积 = 长 × 宽(单位:m²) / X³
🖍️ 3.13 高亮(Highlight)
用 == 包裹(需在偏好设置中开启):
这段话中==这部分被高亮了==,非常显眼!效果: 这段话中==这部分被高亮了==,非常显眼!
四、HTML支持
Markdown搞不定的样式,直接用HTML标签搞定!
🎨 字体颜色
<span style="color:red">红色文字</span><span style="color:blue;font-size:20px">蓝色大号文字</span>📺 嵌入内容
<iframe src="https://codepen.io/..." width="100%" height="400"></iframe>🎬 视频
<video src="./demo.mp4" controls width="100%"></video>其他常用HTML标签:
| 标签 | 用途 | 示例 |
|---|---|---|
<span> | 行内样式 | <span style="color:red">红字</span> |
<div> | 块级容器 | <div style="text-align:center">居中</div> |
<br/> | 换行 | 行尾加 <br/> 强制换行 |
<center> | 居中(已废弃但能用) | <center>居中内容</center> |
<font> | 字体样式 | <font color="red" size="4">文字</font> |
<details> | 折叠展开 | 见下方示例 |
折叠展开示例:
<details><summary>点击展开查看详情</summary>
这里是被折叠的内容,点击上方按钮展开。
- 可以放列表- 可以放代码- 什么都能放
</details>效果:
点击展开查看详情
这里是被折叠的内容,点击上方按钮展开。
- 可以放列表
- 可以放代码
- 什么都能放
五、特殊字符转义
在Markdown中,如果想显示原本有特殊含义的字符,需要在前面加反斜杠 \:
| 想显示 | 写法 | 说明 |
|---|---|---|
* | \* | 星号(避免被解析成斜体/加粗) |
# | \# | 井号(避免被解析成标题) |
[ | \[ | 方括号(避免被解析成链接) |
` | \` | 反引号(避免被解析成代码) |
~ | \~ | 波浪线(避免被解析成下标/删除线) |
_ | \_ | 下划线(避免被解析成斜体) |
六、最佳实践总结
✅ 推荐写法
| 语法 | 推荐写法 | 原因 |
|---|---|---|
| 斜体 | *文字* | 避免单词内下划线误判 |
| 加粗 | **文字** | 清晰易读 |
| 无序列表 | - 项目 | 输入方便 |
| 分割线 | *** | 不与YAML冲突 |
| 代码块 | 加语言名 | 语法高亮 |
| 表格 | 用对齐标记 | 排版美观 |
📌 写Markdown的好习惯
- 标题别跳级 — H1 → H2 → H3,不要H2直接到H5
- 列表统一缩进 — 2个空格或1个Tab
- 代码块记得标注语言 — 自动高亮爽歪歪
- 链接加标题属性 — 鼠标悬停时能看到说明
- 图片加替代文字 — 图片加载失败时也能知道内容
- 段落之间用空行 — 保证兼容所有Markdown解析器
- YAML元数据必写 — 分类、标签方便检索
—— 本公主的学习笔记完成啦!学会了Markdown就能写出好看的文档和博客啦 😤💕
接下来可以学学 Mermaid 图表语法 👉 📊 Mermaid 常用语法速查表
Footnotes
-
Markdown由John Gruber于2004年创建,是一种轻量级标记语言。 ↩
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时








