从零开始学Markdown基础语法全攻略
什么是Markdown
Markdown是一种轻量级标记语言,由John Gruber在2004年创建。它的核心理念是”让文字更容易阅读和编写”,用简单的符号来替代复杂的格式设置。
想象一下,你正在写一篇博客文章,如果用传统的Word编辑器,你需要:
- 选中文字 → 点击加粗按钮 → 调整字号 → 设置段落间距
而用Markdown,你只需要:
- 用
**文字**表示加粗 - 用
# 标题表示一级标题 - 用
- 列表项表示列表项
是不是简单多了?
标题语法
Markdown支持六级标题,从一级到六级,用 # 符号的数量表示级别:
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
实际效果:
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
💡 小提示:在标题后面加空行,会让显示更清晰。有些Markdown编辑器会自动在标题前后添加空行。
段落与换行
段落是最基本的文本单元,只需正常输入文字即可:
这是第一个段落。Markdown会自动识别这是一个独立的段落。
这是第二个段落。两个段落之间需要一个空行分隔。
换行技巧:
- 在行尾添加两个空格 + 回车,实现强制换行
- 或者直接空行,开始新段落
这是第一行文字
这是第二行文字(注意行尾有两个空格)
这是第三行,是新段落,与上面有更大的间距。
文字样式
加粗
用两个星号或两个下划线包围文字:
**这是加粗文字**
__这也是加粗文字__
效果: 这是加粗文字 这也是加粗文字
斜体
用一个星号或一个下划线包围文字:
*这是斜体文字*
_这也是斜体文字_
效果: 这是斜体文字 这也是斜体文字
加粗斜体
用三个星号或三个下划线包围文字:
***这是加粗斜体***
___这也是加粗斜体___
效果: 这是加粗斜体 这也是加粗斜体
删除线
用两个波浪线包围文字:
~~这是删除线文字~~
效果:
这是删除线文字
列表
无序列表
用 -、* 或 + 符号开头:
- 苹果
- 香蕉
- 橙子
或者用星号:
* 第一项
* 第二项
* 第三项
或者用加号:
+ 第一项
+ 第二项
+ 第三项
效果:
- 苹果
- 香蕉
- 橙子
或者用星号:
- 第一项
- 第二项
- 第三项
或者用加号:
- 第一项
- 第二项
- 第三项
有序列表
用数字加点开头:
1. 第一步:准备工作
2. 第二步:开始执行
3. 第三步:检查完成
4. 第四步:发布成果
效果:
- 第一步:准备工作
- 第二步:开始执行
- 第三步:检查完成
- 第四步:发布成果
嵌套列表
列表可以嵌套,用缩进表示层级:
- 水果
- 苹果
- 香蕉
- 橙子
- 蔬菜
- 胡萝卜
- 西兰花
- 番茄
效果:
- 水果
- 苹果
- 香蕉
- 橙子
- 蔬菜
- 胡萝卜
- 西兰花
- 番茄
任务列表(复选框)
很多平台支持任务列表,用 [-] 或 [x] 表示:
- [ ] 待办事项一
- [x] 已完成事项一
- [ ] 待办事项二
- [x] 已完成事项二
效果:
- [ ] 待办事项一
- [x] 已完成事项一
- [ ] 待办事项二
- [x] 已完成事项二
引用
用 > 符号创建引用:
> 这是引用的内容。
> 可以有多行。
> 爱迪生说过:
> "天才是百分之一的灵感,加上百分之九十九的汗水。"
效果:
这是引用的内容。 可以有多行。
爱迪生说过: 天才是百分之一的灵感,加上百分之九十九的汗水。
引用还可以嵌套:
> 第一层引用
> > 第二层引用
> > > 第三层引用
效果:
第一层引用
第二层引用
第三层引用
代码
行内代码
用反引号(`)包围代码:
在代码中使用 `print("Hello World")` 来输出文本。
变量名用 `user_name` 表示用户名。
效果:
在代码中使用 print("Hello World") 来输出文本。
变量名用 user_name 表示用户名。
代码块
用三个反引号(”`)包围多行代码,可以指定语言:
```python
def hello_world():
print("Hello, World!")
hello_world()
```
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet("小明"));
```
```html
<!DOCTYPE html>
<html>
<head>
<title>我的网页</title>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>这是一个简单的HTML页面。</p>
</body>
</html>
```
效果:
def hello_world():
print("Hello, World!")
hello_world()
function greet(name) {
return `Hello, ${name}!`;
}
console.log(greet("小明"));
<!DOCTYPE html>
<html>
<head>
<title>我的网页</title>
</head>
<body>
<h1>欢迎来到我的网站</h1>
<p>这是一个简单的HTML页面。</p>
</body>
</html>
💡 提示:代码块可以指定语言,这样可以获得语法高亮。常用的语言标识符有:
python、javascript、html、css、java、c、cpp、ruby、go等。
不指定语言
如果不想指定语言,直接用三个反引号:
```
这是一段没有语言标识的代码块
所有内容都会原样显示
包括缩进和换行
```
链接
普通链接
用方括号和圆括号:
[访问GitHub](https://github.com)
[百度百科](https://www.baidu.com "百度百科")
效果: 访问GitHub
图片链接
和图片一样,但在前面加一个感叹号:


效果:
💡 小提示:图片的alt文本(方括号中的内容)会在图片无法显示时作为替代文本出现,对屏幕阅读器也很重要。
表格
用竖线 | 和横杠 - 创建表格:
| 姓名 | 年龄 | 城市 |
|------|------|------|
| 小明 | 25 | 北京 |
| 小红 | 23 | 上海 |
| 小刚 | 27 | 广州 |
效果:
| 姓名 | 年龄 | 城市 |
|---|---|---|
| 小明 | 25 | 北京 |
| 小红 | 23 | 上海 |
| 小刚 | 27 | 广州 |
对齐方式
可以在分隔行中添加冒号来设置对齐:
| 左对齐 | 居中对齐 | 右对齐 |
|:-------|:--------:|-------:|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |
效果:
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |
分隔线
用三个或更多的星号、破折号或下划线创建水平线:
***
---
___
效果:
💡 注意:分隔线前后需要空行,否则可能不会正确显示。
特殊字符
有些字符在Markdown中有特殊含义,如果想在文本中显示这些字符本身,需要用反斜杠转义:
\*这不是斜体\*
\# 这不是标题
\$100 不是货币符号
\[这不是链接\]
效果: *这不是斜体* # 这不是标题 $100 不是货币符号 [这不是链接]
常用的转义字符:
\*或\_→ 显示*或_\#→ 显示#\ [→ 显示[\]→ 显示]\(→ 显示()→ 显示)\→ 显示\\$→ 显示$%→ 显示%\{→ 显示{\}→ 显示}\~→ 显示~\>→ 显示>\+→ 显示+\=→ 显示=\|→ 显示|
实际示例:一篇完整的Markdown文章
下面是一个完整的Markdown文档示例,展示如何组合使用各种语法:
# 学习Markdown的完整指南
*最后更新:2024年1月*
---
## 为什么学习Markdown?
Markdown是一种轻量级标记语言,它让你能够:
- **快速编写**:不需要鼠标点击各种格式按钮
- **通用性强**:支持几乎所有平台(GitHub、博客、笔记软件等)
- **易于阅读**:源代码本身就很清晰
- **专注写作**:不用分心于格式调整
> "最好的写作工具,是让你忘记工具本身的存在。" —— 某位 wise writer
## 基础语法速查
### 文本格式
| 语法 | 效果 |
|------|------|
| `**文字**` | **加粗** |
| `*文字*` | *斜体* |
| `~~文字~~` | ~~删除线~~ |
| `==文字==` | ==高亮==(部分平台支持) |
### 代码示例
```python
# 这是一个简单的Python示例
def calculate_area(radius):
"""计算圆的面积"""
pi = 3.14159
area = pi * radius ** 2
return area
# 测试
print(f"半径为5的圆面积为: {calculate_area(5):.2f}")
```
### 链接与图片
这是一个[示例链接](https://example.com "示例网站").

### 任务清单
- [x] 学习基本语法
- [x] 创建第一个文档
- [ ] 掌握高级技巧
- [ ] 发布到博客平台
---
## 常见问题解答
**Q: Markdown支持插入视频吗?**
A: 不同平台支持不同。GitHub不支持直接嵌入视频,但可以通过链接或图片链接实现。其他平台如博客系统可能支持直接嵌入。
**Q: 如何处理长文档的排版?**
A: 建议:
1. 使用合理的标题层级
2. 适当分段,每段2-4句为宜
3. 使用列表拆分复杂内容
4. 代码块标注语言以便高亮
**Q: Markdown能插入数学公式吗?**
A: 标准Markdown不支持,但可以用LaTeX扩展:
$$E = mc^2$$
$$f(x) = \int_{-\infty}^{\infty} \hat{f}(\xi) e^{2\pi i \xi x} d\xi$$
---
## 开始练习吧!
创建一个 `.md` 文件,试试以上所有语法。你会发现,一旦掌握了基础,Markdown就像自然语言一样直观。
*祝你写作愉快!*
渲染效果:
学习Markdown的完整指南
最后更新:2024年1月
为什么学习Markdown?
Markdown是一种轻量级标记语言,它让你能够:
- 快速编写:不需要鼠标点击各种格式按钮
- 通用性强:支持几乎所有平台(GitHub、博客、笔记软件等)
- 易于阅读:源代码本身就很清晰
- 专注写作:不用分心于格式调整
“最好的写作工具,是让你忘记工具本身的存在。” —— 某位 wise writer
基础语法速查
文本格式
| 语法 | 效果 |
|---|---|
**文字** |
加粗 |
*文字* |
斜体 |
~~文字~~ |
|
==文字== |
==高亮==(部分平台支持) |
代码示例
# 这是一个简单的Python示例
def calculate_area(radius):
"""计算圆的面积"""
pi = 3.14159
area = pi * radius ** 2
return area
# 测试
print(f"半径为5的圆面积为: {calculate_area(5):.2f}")
链接与图片
这是一个示例链接.
任务清单
- [x] 学习基本语法
- [x] 创建第一个文档
- [ ] 掌握高级技巧
- [ ] 发布到博客平台
常见问题解答
Q: Markdown支持插入视频吗?
A: 不同平台支持不同。GitHub不支持直接嵌入视频,但可以通过链接或图片链接实现。其他平台如博客系统可能支持直接嵌入。
Q: 如何处理长文档的排版?
A: 建议:
- 使用合理的标题层级
- 适当分段,每段2-4句为宜
- 使用列表拆分复杂内容
- 代码块标注语言以便高亮
Q: Markdown能插入数学公式吗?
A: 标准Markdown不支持,但可以用LaTeX扩展:
\[E = mc^2\]
\[f(x) = \int_{-\infty}^{\infty} \hat{f}(\xi) e^{2\pi i \xi x} d\xi\]
开始练习吧!
创建一个 .md 文件,试试以上所有语法。你会发现,一旦掌握了基础,Markdown就像自然语言一样直观。
祝你写作愉快!
常用Markdown编辑器推荐
在线编辑器
- Markdown Live Preview:实时预览,无需安装
- Dillinger:功能全面的在线编辑器
- StackEdit:支持云同步
桌面应用
- Typora:所见即所得,体验流畅(付费)
- VS Code + Markdown插件:免费且强大
- Obsidian:支持双向链接,适合知识管理(免费个人使用)
- Notable:开源笔记应用
手机应用
- iA Writer:简洁优雅
- Bear:苹果生态友好
- Markdown Editor:多平台支持
学习路线建议
- 第一周:掌握标题、段落、列表、引用、代码块
- 第二周:练习链接、图片、表格、分隔线
- 第三周:尝试嵌套列表、任务列表、转义字符
- 持续练习:在实际项目中应用,如写GitHub README、博客文章、笔记等
结语
Markdown的学习曲线非常平缓,大多数人在一天内就能掌握基本用法。关键是要动手实践,多写多练。随着熟练度的提升,你会发现Markdown让写作变得更加流畅和专注。
记住:好的内容胜过华丽的格式。Markdown帮你把精力集中在内容创作上,而不是格式调整上。
现在,打开你的编辑器,开始写第一篇Markdown文档吧!
