4304 字
22 分钟
Markdown 基本语法

Markdown 标题#

使用 = 和 - 标记一级和二级标题#

= 和 - 标记语法格式如下:

我展示的是一级标题
=================
我展示的是二级标题
-----------------

使用 # 号标记#

Markdown 使用 # 号来创建标题,这是从 HTML 的 h1 到 h6 标签概念演化而来的。
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

标题锚点#

大多数 Markdown 处理器会自动为标题创建锚点(anchor),便于页面内跳转:

[跳转到方法论部分](#方法论)

Markdown 文本格式#

Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。

字体#

文本强调是写作中的重要技巧,Markdown 提供了简洁的方式来实现粗体和斜体效果。
Markdown 可以使用以下几种字体:粗体和斜体。

粗体语法: 使用两个星号 ** 或两个下划线 __ 包围文字:
这是 粗体文字 使用星号
这是 粗体文字 使用下划线(下划线要加空格与主体分隔开)

斜体语法: 使用一个星号 * 或一个下划线 _ 包围文字:
这是 斜体文字 使用星号
这是 斜体文字 使用下划线(下划线要加空格与主体分隔开)

粗斜体组合: 使用三个星号 *** 或三个下划线 ___
这是 粗斜体文本 使用三个星号
这是 粗斜体文本 使用三个下划线

分隔线#

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。
下面每种写法都可以建立分隔线:

***
* * *
*****
- - -
----------

删除线#

如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
~~Google.com~~
Google.com

下划线#

下划线可以通过 HTML 的标签来实现:

<u>带下划线文本</u>

脚注#

脚注是对文本的补充说明。
Markdown 脚注的格式如下:

[^要注明的文本]
[^要注明的文本]:

行内代码标记#

行内代码用于在正文中标记代码片段、命令、变量名等:

基本语法#

使用一个反引号包围代码:
使用 `git commit` 命令提交代码
变量 `userName` 存储用户名
在终端中输入 `npm install` 安装依赖

包含反引号的代码:当代码本身包含反引号时,使用两个反引号包围。
要显示反引号,使用 “ `code` “ 这样的格式

成品演示:

使用 git commit 命令提交代码
变量 userName 存储用户名
在终端中输入 npm install 安装依赖

包含反引号的代码:当代码本身包含反引号时,使用两个反引号包围。
要显示反引号,使用 `code` 这样的格式

文本高亮(扩展语法)#

文本高亮不是标准 Markdown 语法,但许多扩展支持:

常见语法(部分平台支持)#

==高亮文本==

成品演示:

==高亮文本==

HTML 替代方案

<mark> 高亮文本 </mark>

段落和换行#

段落的创建方法#

在 Markdown 中,段落是文本的基本单位,理解段落规则对于正确格式化文档至关重要。

段落基本规则:

段落由一个或多个连续的文本行组成
段落之间由一个或多个空行分隔
普通段落不应该用空格或制表符缩进

正确的段落写法:

这是第一个段落。它可以包含多个句子,内容可以很长,会自动换行显示。
这是第二个段落。注意上面有一个空行分隔。
这是第三个段落。

强制换行技巧#

有时需要在不创建新段落的情况下换行,Markdown 提供了几种方法:

方法一:行尾两个空格:

在行尾添加两个或更多空格,然后按回车: 第一行内容(这里有两个空格) 第二行内容

方法二:HTML 换行标签:

第一行内容<br>
第二行内容

方法三:反斜杠(部分解析器支持):

第一行内容\
第二行内容

空行的作用#

空行在 Markdown 中扮演重要角色:

分隔段落:

第一段内容
第二段内容

分隔不同元素

# 标题
段落内容
- 列表项1
- 列表项2
另一段内容

Markdown 列表#

无序列表#

无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记,这些标记后面要添加一个空格,然后再填写内容:

* 第一项
* 第二项
* 第三项
+ 第一项
+ 第二项
+ 第三项
- 第一项
- 第二项
- 第三项

有序列表#

有序列表用于展示有顺序要求的步骤或项目。
有序列表使用数字并加上 . 号来表示,如:

1. 第一项
2. 第二项
3. 第三项

数字可以不连续。 Markdown 会自动修正数字顺序:

1. 第一项
3. 第二项(实际显示为2)
7. 第三项(实际显示为3)

从指定数字开始:

1. 第五项
2. 第六项
3. 第七项

列表嵌套#

列表嵌套技巧
列表可以嵌套使用,创建多层次的结构:

无序列表嵌套:

  • 水果
    • 苹果
      • 红苹果
      • 绿苹果
    • 香蕉
    • 橙子
  • 蔬菜
    • 胡萝卜
    • 白菜

有序列表嵌套:

  1. 准备阶段
    1. 收集资料
    2. 制定计划
  2. 执行阶段
    1. 开始实施
    2. 监控进度
  3. 总结阶段

混合嵌套:

  1. 主要任务
    • 子任务A
    • 子任务B
      1. 详细步骤1
      2. 详细步骤2
    • 子任务C
  2. 次要任务

列表混合嵌套只需在子列表中的选项前面添加两个或四个空格即可:

  1. 第一项:
    • 第一项嵌套的第一个元素
    • 第一项嵌套的第二个元素
  2. 第二项:
    • 第二项嵌套的第一个元素
    • 第二项嵌套的第二个元素

任务列表(复选框列表)#

任务列表是 GitHub 风格 Markdown 的扩展功能,现在被广泛支持:
基本语法:

- [ ] 未完成的任务
- [x] 已完成的任务
- [ ] 另一个未完成的任务

成品演示:

  • 未完成的任务
  • 已完成的任务
  • 另一个未完成的任务

高级列表技巧#

列表项中包含多段内容:

  1. 第一项

    这是第一项的详细说明,需要与列表项对齐缩进。

    还可以包含第二段内容。

  2. 第二项

    可以在列表项中使用引用

列表项中的换行:

  • 这是一个很长的列表项,
    需要换行显示,注意第二行需要与第一行对齐
  • 另一个列表项

Markdown 引用块#

引用块用于突出显示重要信息、引用他人观点或创建视觉层次。
单级引用的使用
基本语法:
Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:

> 区块引用
> 菜鸟教程
> 学的不仅是技术更是梦想

简化写法:
只在第一行使用 > ,其余行会自动包含在引用中:

> 这是一个长引用,
包含多行内容,
只需要在第一行使用 > 符号。

多级嵌套引用
另外区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:

> 最外层
> > 第一层嵌套
> > > 第二层嵌套

区块中使用列表#

区块中使用列表实例如下:

区块中使用列表

  1. 第一项

  2. 第二项

  • 第一项
  • 第二项
  • 第三项

列表中使用区块#

如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。列表中使用区块实例如下:

  • 第一项

    菜鸟教程 学的不仅是技术更是梦想

  • 第二项

引用块内的其他元素#

引用块内可以包含几乎所有其他 Markdown 元素。包含标题:

重要提醒#

请在操作前仔细阅读文档,避免数据丢失。

包含列表:

注意事项#

  1. 备份重要数据

  2. 检查系统兼容性

  3. 准备回滚方案

  • 测试环境验证
  • 生产环境部署
  • 监控系统状态

包含代码:

要运行这个脚本,请使用以下命令:

Terminal window
npm install
npm start

执行后会在 http://localhost:3000 看到结果。

包含链接和图片:

📚 推荐阅读

详细信息请参考 [官方文档](https://example.com)
![示例图片](./images/example.png)

重要信息提示#

成功提示:

成功 配置已保存并生效。系统将在下次重启时应用新设置。

警告信息:

⚠️ 警告 此操作不可逆转,请确保已备份重要数据。

错误信息:

错误 连接数据库失败,请检查网络连接或联系系统管理员。

信息提示:

ℹ️ 提示 首次使用需要进行账户验证,验证邮件已发送到您的邮箱。

Markdown 代码#

Markdown 提供了多种方式来展示代码,从简单的行内代码到复杂的代码块,满足不同场景下的代码展示需求。

行内代码#

如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如:

`printf()` 函数

成品演示:

printf() 函数

特殊字符转义#

当需要在行内代码中显示反引号或其他特殊字符时,需要进行转义处理。
显示反引号的方法:

使用双反引号包围单反引号:
``使用 `反引号` 包围代码``
使用多个反引号包围:
```包含双反引号的代码```

代码区块#

缩进式代码块
代码区块使用 4 个空格或者一个制表符(Tab 键)。

语法格式:

正常文本段落
这是缩进式代码块
每行前面有四个空格
保持代码的原始格式
继续正常文本

三反引号代码块#

你也可以用 ``` 包裹一段代码,并指定一种语言(也可以不指定):

多行代码内容
可以包含空行
保持原有缩进

三反引号(```)是最常用的代码块语法,支持语法高亮和多行代码展示。

$(document).ready(function () {
alert('RUNOOB');
});

语言标识和语法高亮#

在三反引号后添加语言标识符可以启用语法高亮功能。

常用语言标识符列表:

javascript / js - JavaScript
python / py - Python
html - HTML
css - CSS
sql - SQL
json - JSON
xml - XML
yaml / yml - YAML
bash / shell - Shell脚本
java - Java
cpp / c++ - C++
csharp / c# - C#
php - PHP
ruby / rb - Ruby
go - Go语言
rust - Rust
typescript / ts - TypeScript

JavaScript:

const users = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 }
];
const adults = users.filter(user => user.age >= 18);
console.log(adults);

Python:

def calculate_area(radius):
"""计算圆的面积"""
import math
return math.pi * radius ** 2
# 使用函数
area = calculate_area(5)
print(f"圆的面积是: {area:.2f}")

SQL:

SELECT u.name, u.email, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at >= '2024-01-01'
GROUP BY u.id, u.name, u.email
ORDER BY order_count DESC
LIMIT 10;

代码块的高级特性#

行号显示
某些 Markdown 渲染器支持显示行号,通过特定的语法或配置实现。
语法示例(部分支持):

function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
console.log(fibonacci(10));

代码差异对比#

用于显示代码的添加、删除或修改,常用于展示版本控制中的变更。
Diff 语法:

function calculateTotal(items) {
let total = 0;
let total = 0.0;
for (let item of items) {
total += item.price;
total += parseFloat(item.price);
}
// 保留两位小数
total = Math.round(total * 100) / 100;
return total;
}

语言特定的差异对比#

// 之前的代码
const oldFunction = () => {
var x = 10; // ❌ 使用 var
console.log("Value: " + x); // ❌ 字符串拼接
}
// 改进后的代码
const newFunction = () => {
const x = 10; // ✅ 使用 const
console.log(`Value: ${x}`); // ✅ 模板字符串
}

Markdown 链接#

链接是使 Markdown 文档具有交互性的关键元素。
掌握链接语法能让你创建内容丰富、易于导航的文档。

链接使用方法如下:

[链接名称](链接地址)
[链接文字](链接地址 "可选的标题")
或者:
<链接地址>

设置可选标题:

这是一个链接 [菜鸟教程](https://www.runoob.com)
欢迎访问 [GitHub](https://github.com) 官网
这是 [百度搜索](https://www.baidu.com "百度一下,你就知道")

成品演示:

这是一个链接 菜鸟教程
欢迎访问 GitHub 官网
这是 百度搜索

参考链接#

参考式链接将链接定义与使用分离,让文档更整洁,特别适合长文档或需要多次引用相同链接的情况。
基本语法:

markdown[链接文字][参考标签]
[参考标签]: URL "可选标题"

简化写法:
当参考标签与链接文字相同时,可以省略第二个方括号:

markdown 我喜欢使用 [GitHub][] 来管理代码。
[GitHub]: https://github.com

锚点链接的使用#

锚点链接用于在同一文档内跳转,特别适合长文档的导航:

跳转到标题:

## 目录
- [第一章:介绍](#第一章介绍)
- [第二章:安装](#第二章安装)
- [第三章:使用方法](#第三章使用方法)
# 第一章:介绍
这里是介绍内容...
# 第二章:安装
这里是安装说明...
# 第三章:使用方法
这里是使用说明...

Markdown 图片#

图片能让文档更加生动和易于理解。
Markdown 的图片语法简洁而灵活。
Markdown 图片语法格式如下:

![替代文字](图片路径)
![替代文字](图片路径 "图片标题")

开头一个感叹号 !
接着一个方括号,里面放上图片的替代文字
接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 ‘title’ 属性的文字。

相对路径示例:

![项目截图](./images/screenshot.png)
![用户界面](../assets/ui-demo.jpg "用户界面演示")
![图标](images/icon.svg "应用图标")

绝对路径示例:

![本地图片](/Users/username/Documents/image.png)
![系统截图](C:\Users\username\Pictures\screenshot.png)

直接引用网络图片:

![RUNOOB 图标](https://static.jyshare.com/images/runoob-logo.png)
![RUNOOB 图标](https://static.jyshare.com/images/runoob-logo.png "RUNOOB")

当然,你也可以像网址那样对图片网址使用变量:

这个链接用 1 作为网址变量 [RUNOOB][1].
然后在文档的结尾为变量赋值(网址)
[1]: https://static.jyshare.com/images/runoob-logo.png

Markdown 还没有办法指定图片的高度与宽度,如果你需要的话,你可以使用普通的 img 标签。

<img src="https://static.jyshare.com/images/runoob-logo.png" width="50%">

图片尺寸控制(HTML方式)#

标准 Markdown 不支持直接控制图片尺寸,但可以使用 HTML 标签。

使用 HTML img 标签:
<img src="image.jpg" alt="描述文字" width="300" height="200">
<img src="image.jpg" alt="描述文字" width="50%">
<img src="image.jpg" alt="描述文字" style="width: 300px; height: auto;">
响应式图片:
<img src="image.jpg" alt="描述文字" style="max-width: 100%; height: auto;">
图片对齐:
<!-- 居中对齐 -->
<div align="center">
<img src="image.jpg" alt="居中图片" width="400">
</div>
<!-- 左对齐(默认) -->
<img src="image.jpg" alt="左对齐图片" style="float: left; margin-right: 20px;">
<!-- 右对齐 -->
<img src="image.jpg" alt="右对齐图片" style="float: right; margin-left: 20px;">

转义#

Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:

文本加粗
** 正常显示星号 **

Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:

\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号

Markdown 表格#

表格和引用是 Markdown 中重要的内容组织工具。
表格能够清晰地展示结构化数据,而引用则用于突出重要信息或引用他人观点。
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。

语法格式如下:

| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |

对齐方式#

我们可以设置表格的对齐方式:
---: 设置内容和标题栏居右对齐。
:--- 设置内容和标题栏居左对齐。
:---: 设置内容和标题栏居中对齐。

| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

元格内容格式化#

表格单元格内可以使用大部分 Markdown 语法。

处理长文本#

当单元格内容较长时,可以使用以下技巧:
换行处理:

| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 1. 收集用户需求<br>2. 分析业务场景<br>3. 确定功能范围 |
| 技术选型 | 前端:React + TypeScript<br>后端:Node.js + Express<br>数据库:MongoDB |

缩写和链接:

| 技术栈 | 说明 | 官网 |
|--------|------|------|
| React | 用户界面库 | [链接](https://reactjs.org) |
| Vue.js | 渐进式框架 | [链接](https://vuejs.org) |
| Angular | 完整的框架 | [链接](https://angular.io) |

表格中的特殊字符#

某些字符在表格中有特殊含义,需要转义:

| 字符 | 转义方法 | 示例 |
|------|----------|------|
| 竖线 | `\|` | 显示 \| 符号 |
| 反斜杠 | `\\` | 显示 \\ 符号 |
| HTML | 直接使用 | <code><div></code> |
Markdown 基本语法
https://fuwari.vercel.app/posts/markdown_grammar/
作者
LightFeather
发布于
2025-12-15
许可协议
CC BY-NC-SA 4.0