第 3 節

教学

0瀏覽次數0訪問次數--跳出率--平均停留

只讲最常用的办法来实现某种写法,像一些非常冷门的方法本文不讲,基本都会被另一种常用的写法实现.

标题

用法

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

重要注意事项:

标题写法

符号与文字间的空格:# 号和标题文字之间必须有一个空格。这是标准的 Markdown 语法要求。

# 正确写法
#错误写法

标题的嵌套结构

标题的层次结构应该遵循逻辑顺序,不应该跳级使用。良好的标题结构就像一本书的目录:

推荐的层次结构:

# 主题:人工智能概述

## 第一部分:基础概念
### 什么是人工智能
### 发展历史
#### 早期发展(1950-1980)
#### 现代发展(1980至今)

## 第二部分:应用领域
### 自然语言处理
### 计算机视觉
### 机器学习
#### 监督学习
#### 无监督学习
#### 强化学习

避免的错误结构:

# 主标题
### 直接跳到三级标题(不推荐)
## 然后才是二级标题

标题编号的最佳实践

自动编号 vs 手动编号:

许多 Markdown 处理器和编辑器支持自动生成标题编号,因此在源码中通常不需要手动添加编号:

# 引言
## 背景
## 目标
# 方法论
## 数据收集
## 分析方法

标题锚点:

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

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

标题长度建议:

  • 保持标题简洁明了,一般不超过 10 个汉字或 20 个英文字符
  • 使用描述性词语,避免模糊的标题如"其他"、"杂项"
  • 可以使用冒号来分隔主题和副主题

文本格式

换行用法

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

字体用法

文本强调是写作中的重要技巧,Markdown 提供了简洁的方式来实现粗体和斜体效果。

Markdown 可以使用以下几种字体:粗体和斜体。

**粗体语法:**使用两个星号 ** (常用) 或两个下划线 __ 包围文字:

这是**粗体文字**使用星号

**斜体语法:**使用一个星号 * (常用) 或一个下划线 _ 包围文字:

这是*斜体文字*使用星号

**粗斜体组合:**使用三个星号 *** (常用) 或三个下划线 ___。

***粗斜体文本***

列表

无序列表

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

* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项


- 第一项
- 第二项
- 第三项

选择建议:

  • 建议统一使用减号 -,因为它在视觉上更清晰
  • 在同一文档中保持一致的标记方式
  • 标记符号后必须有一个空格

有序列表

用法

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

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

注意事项

数字可以不连续:

Markdown 会自动修正数字顺序:

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

从指定数字开始:(但必须连续)

5. 第五项
6. 第六项
7. 第七项

列表嵌套

嵌套规则:

  • 子列表需要缩进 2-4 个空格(推荐 4 个,即 1 个TAB
  • 保持一致的缩进长度
  • 可以无限层嵌套,但实际使用中建议不超过 3 层

列表嵌套技巧

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

无序列表嵌套:

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

有序列表嵌套:

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

混合嵌套:

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

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

任务列表(复选框列表)

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

基本语法:

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

-,[,]以及后面的文字之间都有一个空格.

实际应用示例:

## 项目待办清单

### 设计阶段
- [x] 需求分析
- [x] 原型设计
- [ ] UI 设计

### 开发阶段
- [ ] 前端开发
  - [x] 页面布局
  - [ ] 交互功能
  - [ ] 响应式适配
- [ ] 后端开发
  - [ ] 数据库设计
  - [ ] API 开发
  - [ ] 性能优化

### 测试阶段
- [ ] 单元测试
- [ ] 集成测试
- [ ] 用户验收测试

使用技巧:

  • 方括号内的空格和 x 很重要:x
  • 可以与嵌套列表结合使用
  • 在项目管理、学习计划、生活清单中特别有用
  • 某些编辑器支持点击复选框来切换状态

高级列表技巧

列表项中包含多段内容:

1. 第一项

   这是第一项的详细说明,需要与列表项对齐缩进。
   
   还可以包含第二段内容。

2. 第二项

   > 可以在列表项中使用引用

列表项中的换行:

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

通过掌握这些基础语法,你已经能够创建结构清晰、格式规范的 Markdown 文档了。这些语法是日常写作中最常用的,熟练掌握它们将大大提高你的文档编写效率。

引用块

引用块用于突出显示重要信息、引用他人观点或创建视觉层次。

单级引用的使用

基本语法:

Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:

> 区块引用1
> 区块引用2

多行引用:

> 这是引用的第一行。
> 这是引用的第二行。
> 
> 这是引用的第二段。

简化写法(不推荐):

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

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

多级嵌套引用

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

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

实际应用示例:

> **用户反馈**:这个功能很有用!
> 
> > **开发团队回复**:感谢您的反馈,我们会继续优化。
> > 
> > > **项目经理补充**:预计下个版本会有更多改进。

引用块内的其他元素

区块中使用列表

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

> 区块中使用列表
> 1. 第一项
> 2. 第二项
> - 第一项
> - 第二项
> - 第三项

列表中使用区块

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

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

- 第一项
    > 区块引用1
    > 区块引用2
- 第二项

其他元素

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

包含标题:

> ## 重要提醒
> 
> 请在操作前仔细阅读文档,避免数据丢失。

包含代码:

> 要运行这个脚本,请使用以下命令:
> 
> ```bash
> npm install
> npm start
> ```
> 
> 执行后会在 `http://localhost:3000` 看到结果。

包含链接和图片:

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

引用的最佳实践

名言警句引用

> "在软件开发中,最昂贵的错误就是构建正确的系统错误的方式,或者构建错误的系统正确的方式。"
> 
> — Barry Boehm,软件工程专家

重要信息提示

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


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


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


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

文档结构中的引用

章节摘要:

# 第一章:项目概述

> **本章要点**
> 
> - 了解项目背景和目标
> - 掌握核心功能特性
> - 熟悉技术架构设计

版本更新说明:

## v2.1.0 更新内容

> **重大变更**
> 
> ⚠️ API 接口路径已调整,旧版本客户端需要更新
> 
> 详见 [迁移指南](./migration-guide.md)

代码

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

行内代码

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

C++23打印使用`std::print()` 函数

常见用法示例:

  • 函数名:使用 console.log() 输出信息
  • 变量名:将值赋给 userName 变量
  • 命令行:运行 npm install 安装依赖
  • 键盘按键:按 Ctrl+C 复制内容
  • 文件名:编辑 index.html 文件

特殊字符转义

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

  1. 显示反引号的方法:
    使用双反引号包围单反引号
    ``使用 `反引号` 包围代码``
    

  2. 其他特殊字符处理:
    • HTML 标签:
      元素
    • 数学符号:计算 x + y = z
    • 特殊符号:使用   表示空格

代码区块

缩进式代码块(几乎不用)

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

语法格式:

正常文本段落

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

    #include <print>

    int main(int argc,char ** argv)
    {
        (void)argc;
        (void)argv;
        
        std::print("Hello World!\n");
        std::println("Hello World!");
        return 0;
    }

三反引号代码块(常用)

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

不指定语言

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

注意事项:

  • 缩进式代码块前后需要空行分隔
  • 所有代码行必须保持一致的缩进
  • 不支持语法高亮
  • 在列表中使用时需要8个空格缩进
语言标识和语法高亮

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

例如C++:

#include <print>

int main(int argc,char ** argv)
{
    (void)argc;
    (void)argv;
        
    std::print("Hello World!\n");
    std::println("Hello World!");
    return 0;
}

常用编程语言

语言 / 类型推荐标识符常用标识符 / 别名示例
CcC```c
C++cppc++, cc, cxx```cpp
C#csharpcs, c#```csharp
Objective-Cobjective-cobjc```objective-c
Javajava```java
Kotlinkotlinkt```kotlin
Pythonpythonpy```python
JavaScriptjavascriptjs```javascript
TypeScripttypescriptts```typescript
JSXjsx```jsx
TSXtsx```tsx
Gogogolang```go
Rustrustrs```rust
Swiftswift```swift
Dartdart```dart
PHPphp```php
Rubyrubyrb```ruby
Lualua```lua
Perlperlpl```perl
Scalascala```scala
Groovygroovy```groovy
Haskellhaskellhs```haskell
Elixirelixirex```elixir
Erlangerlangerl```erlang
Juliajuliajl```julia
Rr```r
MATLABmatlab```matlab
Fortranfortranf90, f95```fortran
Assemblyasmassembly```asm
x86 Assemblyx86asmx86```x86asm
WebAssemblywasmwat```wasm
Soliditysoliditysol```solidity
Verilogverilogv```verilog
SystemVerilogsystemverilogsv```systemverilog
VHDLvhdl```vhdl

Web / 数据格式

语言 / 类型推荐标识符常用标识符 / 别名示例
HTMLhtml```html
CSScss```css
SCSSscss```scss
Sasssass```sass
Lessless```less
Vuevue```vue
Sveltesvelte```svelte
JSONjson```json
JSON5json5```json5
YAMLyamlyml```yaml
XMLxml```xml
TOMLtoml```toml
INIini```ini
CSVcsv```csv
GraphQLgraphqlgql```graphql
Protocol Buffersprotobufproto```protobuf
Markdownmarkdownmd```markdown
reStructuredTextrst```rst
LaTeXlatextex```latex
SVGsvgxml```svg

Shell / 命令行

语言 / 类型推荐标识符常用标识符 / 别名示例
Bashbashsh, shell```bash
POSIX Shellshshell```sh
Zshzsh```zsh
Fishfish```fish
PowerShellpowershellps1```powershell
Windows Batchbatchbat, cmd```batch
Console / 终端会话consoleshell-session```console
纯文本textplaintext, txt```text

构建 / DevOps / 配置

语言 / 类型推荐标识符常用标识符 / 别名示例
CMakecmake```cmake
Makefilemakefilemake```makefile
Dockerfiledockerfiledocker```dockerfile
Nginxnginx```nginx
Apacheapacheapacheconf```apache
Git Configgitconfig```gitconfig
Git Ignoregitignore```gitignore
Diffdiffpatch```diff
Terraformterraformtf, hcl```terraform
HCLhcl```hcl
Ansibleyamlyml, ansible```yaml
GitHub Actionsyamlyml```yaml
Kubernetesyamlyml```yaml
ROS 2 参数yamlyml```yaml
ROS Launch XMLxml```xml
ROS Launch Pythonpythonpy```python

数据库 / 查询语言

语言 / 类型推荐标识符常用标识符 / 别名示例
SQLsql```sql
MySQLsqlmysql```sql
PostgreSQLsqlpostgresql, pgsql```sql
SQLitesqlsqlite```sql
PL/SQLplsql```plsql
T-SQLtsql```tsql
Cyphercypher```cypher
MongoDB Shelljavascriptjs```javascript

机器人 / 嵌入式常用

语言 / 类型推荐标识符常用标识符 / 别名示例
STM32 Cc```c
STM32 C++cppc++, cxx```cpp
ROS 2 C++cppc++, cxx```cpp
ROS 2 Pythonpythonpy```python
CMakeLists.txtcmake```cmake
package.xmlxml```xml
ROS 2 参数文件yamlyml```yaml
URDFxml```xml
Xacroxmlxacro```xml
SDFxmlsdf```xml
Gazebo Worldxml```xml
Linux 命令bashsh, shell```bash
终端命令 + 输出consoleshell-session```console
Dockerfiledockerfiledocker```dockerfile
Docker Composeyamlyml```yaml
JSONjson```json
TOMLtoml```toml
INI / Confini```ini
Makefilemakefilemake```makefile
Git Diffdiffpatch```diff
日志 / 普通输出textplaintext, txt```text
代码块的高级特性

行号显示

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

语法示例(部分支持):

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

console.log(fibonacci(10));

或者使用:

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(x => x * 2);
const sum = doubled.reduce((a, b) => a + b, 0);
console.log(`总和: ${sum}`);

代码差异对比

主流方式:

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;
}

Git 风格的差异显示:

@@ -1,5 +1,8 @@
 function greetUser(name) {
-    console.log("Hello " + name);
+    if (!name) {
+        throw new Error("Name is required");
+    }
+    console.log(`Hello, ${name}!`);
 }

语言特定的差异对比:

// 之前的代码
const oldFunction = () => {
    var x = 10;  // &#x274c; 使用 var
    console.log("Value: " + x);  // &#x274c; 字符串拼接
}

// 改进后的代码  
const newFunction = () => {
    const x = 10;  // &#x2705; 使用 const
    console.log(`Value: ${x}`);  // &#x2705; 模板字符串
}

链接

链接是使 Markdown 文档具有交互性的关键元素。

掌握链接语法能让你创建内容丰富、易于导航的文档。

链接使用方法如下:

[链接名称](链接地址)
[链接文字](链接地址 "可选的标题")

或者:

<链接地址>

比如一个简单的链接:

这是一个链接 [个人网站](https://www.tungchiahui.cn)

直接使用链接地址:

<https://www.tungchiahui.com>

设置可选标题:

这是一个链接 [个人网站](https://tungchiahui.com)
欢迎访问 [GitHub](https://github.com) 官网
这是 [百度搜索](https://baidu.com "百度一下,你就知道")

链接标题的作用:

  • 当鼠标悬停在链接上时显示提示信息
  • 对搜索引擎优化和无障碍访问有帮助
  • 标题文字放在双引号、单引号或括号中都可以

邮箱与电话链接:

markdown联系我:[发送邮件](mailto:tungchiahui@gmail.com)
电话联系:[拨打电话](tel:+86-188-8888-8888)

自动链接识别

现代 Markdown 解析器通常支持自动识别 URL 和邮箱地址:

URL 自动识别:

markdown直接输入网址:https://www.tungchiahui.com
用尖括号包围:<https://www.tungchiahui.com>

邮箱自动识别(但建议邮箱还是要加mailto:):

markdown联系邮箱:tungchiahui@gmail.com
或者:<tungchiahui@gmail.com>

注意事项:

  • 自动识别功能依赖于具体的 Markdown 解析器
  • 为了确保兼容性,建议使用标准的链接语法
  • 某些特殊字符可能影响自动识别

锚点链接的使用(常用)

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

跳转到标题:

## 目录
- [第一章:介绍](#第一章介绍)
- [第二章:安装](#第二章安装)
- [第三章:使用方法](#第三章使用方法)

# 第一章:介绍
这里是介绍内容...

# 第二章:安装
这里是安装说明...

# 第三章:使用方法
这里是使用说明...

锚点规则:

  • 标题会自动生成锚点
  • 锚点名称通常是标题的小写形式
  • 空格替换为连字符
  • 移除特殊字符

手动创建锚点:

<a id="custom-anchor"></a>
## 自定义锚点位置

[跳转到自定义位置](#custom-anchor)

页面顶部返回链接:

[回到顶部](#)

图片

用法

图片能让文档更加生动和易于理解。

Markdown 的图片语法简洁而灵活。

Markdown 图片语法格式如下:

![替代文字](图片路径)
![替代文字](图片路径 "图片标题")
  • 开头一个感叹号 !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 'title' 属性的文字。

相对路径示例:

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

绝对路径示例:

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

路径使用建议:

  • 推荐使用相对路径,便于项目移植
  • 建议创建专门的图片文件夹(如 images/、assets/)
  • 使用有意义的文件名,便于管理
  • 注意路径分隔符在不同操作系统中的差异

直接引用网络图片:

![Tung Chia-hui 个人图标](https://cdn.tungchiahui.cn/tungwebsite/assets/images/logo.png)

![ROBOCON 图标](https://ccdn.tungchiahui.cn/site-assets/images/sponsors/robocon-logo.webp "CURC ROBOCON")

网络图片注意事项:

  • 确保图片 URL 的稳定性和可访问性
  • 注意图片的版权问题
  • 考虑加载速度和网络环境
  • 建议本地备份重要图片

图片 alt 文本的重要性

Alt 文本(替代文字)在图片无法显示时提供替代信息,同时对无障碍访问和 SEO 很重要:

好的 alt 文本示例:

![苹果公司总部大楼外观,现代玻璃幕墙建筑](./images/apple-headquarters.jpg)
![网站流量统计图表,显示过去六个月的访问量呈上升趋势](./charts/traffic-stats.png)
![用户登录界面,包含用户名和密码输入框](./screenshots/login-page.png)

避免的 alt 文本:

![图片](image.jpg)  // 太简单,没有描述性
![](image.jpg)      // 完全没有 alt 文本
![点击这里](image.jpg)  // 不描述图片内容

alt 文本最佳实践:

  • 简洁但有描述性
  • 描述图片的主要内容和用途
  • 避免使用"图片"、"照片"等冗余词汇
  • 对于装饰性图片,可以使用空的 alt 文本
  • 考虑上下文,提供有意义的信息

图片尺寸控制(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;">

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

<img src="https://cdn.tungchiahui.cn/tungwebsite/assets/images/logo.png" width="50%">

响应式图片:

<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;">

图片居中和对齐(HTML方式)

方法一:HTML + CSS

<div style="text-align: center;">
  <img src="image.jpg" alt="居中图片" style="max-width: 100%;">
</div>

方法二:使用 HTML 对齐属性

<p align="center">
  <img src="image.jpg" alt="居中图片" width="400">
</p>

方法三:创建图片画廊

<div style="display: flex; justify-content: space-around; flex-wrap: wrap;">
  <img src="image1.jpg" alt="图片1" style="width: 30%; margin: 10px;">
  <img src="image2.jpg" alt="图片2" style="width: 30%; margin: 10px;">
  <img src="image3.jpg" alt="图片3" style="width: 30%; margin: 10px;">
</div>

性能优化建议:

  • 优化图片大小和格式(WebP > PNG > JPEG)
  • 使用适当的图片尺寸,避免在网页中缩放大图
  • 考虑使用图片压缩工具
  • 为不同设备准备不同尺寸的图片

链接和图片的高级用法

图片链接组合 将图片作为链接的可点击元素。

基本语法:

[![图片alt文本](图片URL)](链接URL)

实际示例:

[![GitHub项目截图](./images/project-screenshot.png)](https://github.com/username/project)
[![访问官网](https://cdn.tungchiahui.cn/tungwebsite/assets/images/logo.png)](https://tungchiahui.cn "点击访问官网")

常见应用场景:

<!-- 项目徽章 -->
[![Build Status](https://travis-ci.org/user/repo.svg?branch=master)](https://travis-ci.org/user/repo)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

<!-- 应用商店下载 -->
[![App Store](./images/app-store-badge.png)](https://apps.apple.com/app/your-app)
[![Google Play](./images/google-play-badge.png)](https://play.google.com/store/apps/details?id=com.yourapp)

表格

表格和引用是 Markdown 中重要的内容组织工具。

表格能够清晰地展示结构化数据,而引用则用于突出重要信息或引用他人观点。

Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。

用法

语法格式如下:

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

以上代码显示结果如下:

语法要点:

  • 表头和数据行之间必须有分隔线
  • 分隔线至少需要三个连字符 ---
  • 两端的竖线 | 是可选的,但建议保留以提高可读性
  • 不需要严格对齐,但对齐后更美观

对齐方式

我们可以设置表格的对齐方式:

  • ---: 设置内容和标题栏居右对齐。
  • :--- 设置内容和标题栏居左对齐。
  • :---: 设置内容和标题栏居中对齐。
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |

复杂表格的处理技巧

元格内容格式化

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

| 功能 | 描述 | 状态 |
|------|------|:----:|
| **用户登录** | 支持邮箱和手机号登录 | &#x2705; |
| *密码重置* | 通过邮箱重置密码 | &#x26a0;&#xfe0f; |
| `API接口` | RESTful API 设计 | &#x2705; |
| [文档链接](https://example.com) | 查看详细文档 | &#x1f4d6; |

处理长文本

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

换行处理:

| 项目 | 详细说明 |
|------|----------|
| 需求分析 | 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>&lt;div&gt;</code> |

表格美化建议

使用 Emoji 和符号

| 状态 | 图标 | 说明 |
|:----:|:----:|------|
| 完成 | &#x2705; | 任务已完成 |
| 进行中 | &#x1f504; | 正在处理 |
| 待处理 | &#x23f3; | 等待开始 |
| 错误 | &#x274c; | 出现问题 |
| 警告 | &#x26a0;&#xfe0f; | 需要注意 |

分割线

分割线用于在视觉上分隔文档的不同部分,创建清晰的内容层次。

水平分割线的三种写法

Markdown 支持三种方式创建水平分割线:

  1. 使用至少三个连字符(常用)
---
  1. 使用至少三个星号:
***
  1. 使用至少三个下划线:
___

可以使用更多的符号,但三个是最小要求: 空格的影响:符号之间可以有空格。

- - - - -

音乐页