Markdown是一种轻量级标记语言,由John Gruber于2004年创建,现已成为技术文档、博客文章和代码注释的首选写作工具。它结合了易读易写的纯文本格式和强大的排版功能,使创作者能够专注于内容本身而非格式细节,如本文就是用Markdown渲染的。写Markdown既简单又需要技巧,关键在于理解基本语法。本文将通过”代码+效果”的展示方式,全面讲解Markdown的核心语法,让你能够轻松编写出格式美观、内容丰富的Markdown文档。
基础语法
标题
Markdown使用井号(#)表示标题,数量从1到6分别对应不同级别的标题。标题与正文之间应保留一个空行,标题之间也应保留空行以增强可读性。
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题效果:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
注意:在标题中避免使用特殊字符如星号、下划线等,如需使用这些字符,应在前面添加反斜杠进行转义。例如:\*This is a title*
段落与换行
Markdown段落由连续的文本行组成,段落之间用空行分隔。在行尾添加两个空格后按回车即可换行。
这是第一段。段落由连续的文本行组成,段落之间用空行分隔。
这是第二段。注意段落之间必须有一个空行。
这是同一段内的换行,行尾添加两个空格。这是另一行,换行后显示在同一段落内。效果:
这是第一段。段落由连续的文本行组成,段落之间用空行分隔。
这是第二段。注意段落之间必须有一个空行。
这是同一段内的换行,行尾添加两个空格。
这是另一行,换行后显示在同一段落内。
文字强调
Markdown提供了多种强调文本的方式,包括斜体、粗体、删除线和加粗斜体组合。
*斜体文本* 或 _斜体文本_**粗体文本** 或 __粗体文本__~~删除线文本~~***加粗斜体文本*** 或 __*加粗斜体文本*__效果:
斜体文本 或 斜体文本
粗体文本 或 粗体文本
删除线文本
加粗斜体文本 或 加粗斜体文本
注意:当文本内容本身包含这些符号时,应在前面添加反斜杠进行转义。例如:这是\*普通文本\*,不是斜体
列表
Markdown支持无序列表和有序列表,可以轻松创建层次分明的内容结构。
无序列表
使用连字符(-)、加号(+)或星号(*)表示无序列表,符号与内容之间应有一个空格。推荐使用连字符(-)而非星号(*),以避免与强调文本的星号混淆。
- 项目一- 项目二 - 子项目一(缩进两个空格) - 子项目二* 另一种无序列表写法+ 第三种无序列表写法效果:
- 项目一
- 项目二
- 子项目一(缩进两个空格)
- 子项目二
- 另一种无序列表写法
- 第三种无序列表写法
有序列表
使用数字加点号(1.)表示有序列表,所有列表项都应使用数字1.开头,Markdown渲染器会自动递增编号,这样便于列表项的重新排序。
1. 项目一1. 项目二 1. 子项目一(缩进三个空格) 1. 子项目二1. 项目三效果:
- 项目一
- 项目二
- 子项目一(缩进三个空格)
- 子项目二
- 项目三
注意:
- 段落与列表之间保留一个空行
- 列表项后紧跟的段落应缩进两个空格
- 避免在列表项中混合使用多种符号(如同时使用-和*)
引用与分割线
引用
使用大于号(>)表示引用,可以创建多级嵌套引用。
> 这是一级引用>> 这是二级引用>>> 这是三级引用> 这是一级引用> > 可以混合使用多个>号效果:
这是一级引用
这是二级引用
这是三级引用 这是一级引用 可以混合使用多个>号
分割线
使用三个或更多的连字符(---)或星号(*)创建分割线,分割线所在行不能有其他内容,否则不会被识别为分割线。
这是分割线上方的内容
---
这是分割线下的内容
***
这是另一个分割线下的内容效果:
这是分割线上方的内容
这是分割线下的内容
这是另一个分割线下的内容
五、代码块
Markdown支持行内代码块和多行代码块两种形式,这对于技术文档尤为重要。
行内代码块
使用单个反引号(`)包裹短代码片段,使其在文本中以等宽字体显示。
使用 `print("Hello World")` 函数可以输出文本。Python的`if`语句用于条件判断。效果:
使用 print("Hello World") 函数可以输出文本。
Python的if语句用于条件判断。
多行代码块
使用三个反引号(```)包裹多行代码,可指定编程语言以启用语法高亮。
```pythondef greet(name): print(f"Hello, {name}!")greet("Alice")```
```markdown这是展示Markdown语法的代码块:# 标题*斜体***粗体**```效果:
def greet(name): print(f"Hello, {name}!")greet("Alice")这是展示Markdown语法的代码块:# 标题*斜体***粗体**链接与图片
超链接
使用方括号包裹显示文本,圆括号包裹链接地址。这是Markdown最常用的元素之一。
[这是超链接文本](https://www.tianhw.top)
或者使用参考式链接:这是参考式链接[1]
[1]: https://www.tianhw.top效果:
或者使用参考式链接:
这是参考式链接1
图片
图片语法与超链接类似,但在方括号前添加感叹号。

或者使用参考式图片:![参考式图片][logo]
[logo]: https://image.tianhw.top/avatar.webp效果:
![]()
或者使用参考式图片:
![]()
注意:在Markdown教程中展示图片语法时,需要使用反斜杠转义感叹号和方括号:
\!\[图片替代文本\]\(https://image.tianhw.top/avatar.webp\)表格
Markdown表格使用竖线(|)分隔列,连字符(-)分隔表头。表格语法在不同平台间兼容性差异较大,部分平台(如Microsoft Teams)不支持表格内的换行。
| 左对齐 | 居中对齐 | 右对齐 || :----- | :------: | -----: || 单元格 | 单元格 | 单元格 || 单元格 | 单元格 | 单元格 |效果:
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
表格对齐说明:
|:-----|表示左对齐(冒号在左侧)|-----:|表示右对齐(冒号在右侧)|:-----:|表示居中对齐(两侧都有冒号)
特殊符号转义
在Markdown中,某些符号具有特殊含义,如需显示这些符号本身而非其格式功能,应在前面添加反斜杠进行转义。
\* 显示星号而非斜体\_ 显示下划线而非斜体\# 显示井号而非标题\> 显示大于号而非引用\| 显示竖线而非表格分隔符\~\~ 显示波浪线而非删除线效果:
* 显示星号而非斜体
_ 显示下划线而非斜体
# 显示井号而非标题
> 显示大于号而非引用
| 显示竖线而非表格分隔符
~~ 显示波浪线而非删除线
数学公式
Markdown支持通过LaTeX语法展示数学公式,这对于学术文档和技术文章非常有用。公式语法在不同平台间兼容性差异较大,部分平台可能需要额外配置才能渲染公式。
行内公式
使用单个美元符号包裹公式:
行内公式示例:$E=mc^2$效果:
行内公式示例:
独占公式
使用双美元符号包裹公式:
独占公式示例:$$\sum_{i=1}^n a_i = 0$$效果:
HTML标签
Markdown允许直接使用HTML标签,这对于需要特定排版效果的内容非常有用。使用HTML标签时应保持简洁,避免过度复杂。
使用HTML标签:<b>粗体文本</b><em>斜体文本</em><ins>下划线文本</ins><del>删除线文本</del><code>行内代码</code>效果:
使用HTML标签:
粗体文本
斜体文本
下划线文本
删除线文本
行内代码
结尾
通过实践这些语法,你将能够轻松编写出格式美观、内容丰富的Markdown文档,无论是技术博客、项目文档还是个人笔记,都能得心应手。