列表语法
列表是组织信息的重要方式,Markdown 支持有序列表和无序列表,还能创建嵌套列表和任务列表。
无序列表
基本语法
使用 -
、*
或 +
创建无序列表:
markdown
- 项目 1
- 项目 2
- 项目 3
* 项目 1
* 项目 2
* 项目 3
+ 项目 1
+ 项目 2
+ 项目 3
渲染效果:
- 项目 1
- 项目 2
- 项目 3
符号选择建议
符号 | 特点 | 推荐场景 |
---|---|---|
- | 最常用,简洁 | 一般推荐 |
* | 与强调语法一致 | 保持风格统一 |
+ | 较少使用 | 特殊区分需要 |
建议:在整个文档中保持符号一致性。
有序列表
基本语法
使用数字加点号创建有序列表:
markdown
1. 第一项
2. 第二项
3. 第三项
渲染效果:
- 第一项
- 第二项
- 第三项
数字序号
数字的实际值并不重要,Markdown 会自动生成正确的序号:
markdown
1. 第一项
3. 第二项
8. 第三项
渲染效果:
- 第一项
- 第二项
- 第三项
起始数字
可以指定起始数字:
markdown
3. 第三项
4. 第四项
5. 第五项
渲染效果:
- 第三项
- 第四项
- 第五项
嵌套列表
基本嵌套
使用缩进(2-4个空格)创建嵌套列表:
markdown
- 一级项目 1
- 二级项目 1.1
- 二级项目 1.2
- 一级项目 2
- 二级项目 2.1
- 三级项目 2.1.1
- 三级项目 2.1.2
- 二级项目 2.2
渲染效果:
- 一级项目 1
- 二级项目 1.1
- 二级项目 1.2
- 一级项目 2
- 二级项目 2.1
- 三级项目 2.1.1
- 三级项目 2.1.2
- 二级项目 2.2
- 二级项目 2.1
混合嵌套
有序列表和无序列表可以互相嵌套:
markdown
1. 有序项目 1
- 无序子项目 1.1
- 无序子项目 1.2
2. 有序项目 2
1. 有序子项目 2.1
2. 有序子项目 2.2
- 无序孙项目 2.2.1
- 无序孙项目 2.2.2
渲染效果:
- 有序项目 1
- 无序子项目 1.1
- 无序子项目 1.2
- 有序项目 2
- 有序子项目 2.1
- 有序子项目 2.2
- 无序孙项目 2.2.1
- 无序孙项目 2.2.2
列表中的多段落内容
段落延续
在列表项中包含多个段落:
markdown
1. 第一项
这是第一项的第二段落。需要缩进以保持在列表项内。
2. 第二项
这是第二项的第二段落。
这是第二项的第三段落。
3. 第三项
渲染效果:
第一项
这是第一项的第二段落。需要缩进以保持在列表项内。
第二项
这是第二项的第二段落。
这是第二项的第三段落。
第三项
代码块
在列表中包含代码块:
markdown
1. 安装依赖
```bash
npm install express
创建服务器
javascriptconst express = require('express'); const app = express();
启动服务器
### 引用块
在列表中包含引用:
```markdown
1. 准备工作
> 确保你有足够的磁盘空间
> 建议至少保留 10GB 空间
2. 开始安装
任务列表
基本语法
使用 - [ ]
创建未完成任务,- [x]
创建已完成任务:
markdown
- [x] 完成的任务
- [ ] 未完成的任务
- [x] 另一个完成的任务
- [ ] 待办事项
渲染效果:
- [x] 完成的任务
- [ ] 未完成的任务
- [x] 另一个完成的任务
- [ ] 待办事项
嵌套任务列表
markdown
- [x] 项目规划
- [x] 需求分析
- [x] 技术调研
- [ ] 原型设计
- [ ] 开发阶段
- [ ] 前端开发
- [x] 页面布局
- [ ] 交互功能
- [ ] 后端开发
- [ ] API 设计
- [ ] 数据库设计
- [ ] 测试阶段
渲染效果:
- [x] 项目规划
- [x] 需求分析
- [x] 技术调研
- [ ] 原型设计
- [ ] 开发阶段
- [ ] 前端开发
- [x] 页面布局
- [ ] 交互功能
- [ ] 后端开发
- [ ] API 设计
- [ ] 数据库设计
- [ ] 前端开发
- [ ] 测试阶段
常见错误和解决方案
1. 缩进不正确
markdown
❌ 错误:缩进不一致
- 项目 1
- 子项目 1.1
- 子项目 1.2 ← 缩进错误
✅ 正确:保持一致缩进
- 项目 1
- 子项目 1.1
- 子项目 1.2
2. 列表项之间的空行
markdown
❌ 错误:不必要的空行导致列表断开
- 项目 1
- 项目 2 ← 这会创建两个独立的列表
✅ 正确:连续的列表项
- 项目 1
- 项目 2
3. 数字后缺少空格
markdown
❌ 错误:
1.第一项 ← 缺少空格
2.第二项
✅ 正确:
1. 第一项
2. 第二项
特殊情况处理
转义列表符号
如果需要在行首显示列表符号但不创建列表:
markdown
\- 这不是列表项
\* 这也不是列表项
\1. 这不是有序列表项
渲染效果:
- 这不是列表项 * 这也不是列表项 \1. 这不是有序列表项
列表项中的代码
markdown
- 安装 `npm install package-name`
- 运行 `npm start`
- 在浏览器中访问 `http://localhost:3000`
渲染效果:
- 安装
npm install package-name
- 运行
npm start
- 在浏览器中访问
http://localhost:3000
列表项中的链接
markdown
- [GitHub](https://github.com) - 代码托管平台
- [Stack Overflow](https://stackoverflow.com) - 问答网站
- [MDN](https://developer.mozilla.org) - 开发文档
渲染效果:
- GitHub - 代码托管平台
- Stack Overflow - 问答网站
- MDN - 开发文档
最佳实践
1. 保持一致性
markdown
✅ 推荐:统一使用破折号
- 项目 A
- 项目 B
- 项目 C
❌ 不推荐:混合使用符号
- 项目 A
* 项目 B
+ 项目 C
2. 合理使用嵌套
markdown
✅ 推荐:适度嵌套
- 主要功能
- 用户管理
- 内容管理
- 辅助功能
- 日志记录
- 数据备份
❌ 不推荐:过深嵌套
- 功能
- 主要功能
- 核心功能
- 基础功能
- 基本功能 ← 太深了
3. 语义化组织
markdown
✅ 推荐:按逻辑分组
## 开发工具
- 代码编辑器
- 版本控制
- 调试工具
## 设计工具
- 原型设计
- 图像处理
- 界面设计
❌ 不推荐:无逻辑堆砌
- 代码编辑器
- 原型设计
- 版本控制
- 图像处理
HTML 输出
Markdown 列表转换为 HTML:
markdown
- 项目 1
- 项目 2
转换为:
html
<ul>
<li>项目 1</li>
<li>项目 2</li>
</ul>
markdown
1. 项目 1
2. 项目 2
转换为:
html
<ol>
<li>项目 1</li>
<li>项目 2</li>
</ol>
实用示例
购物清单
markdown
## 今日购物清单
### 生活用品
- [ ] 洗发水
- [ ] 牙膏
- [x] 毛巾
### 食物
- [ ] 牛奶
- [ ] 面包
- [x] 鸡蛋
- [ ] 水果
- [ ] 苹果
- [x] 香蕉
- [ ] 橙子
学习计划
markdown
## 本月学习计划
1. **第一周**:基础知识
- [x] 阅读教程第1-3章
- [x] 完成练习题 1-10
- [ ] 观看视频课程 1-5
2. **第二周**:实践项目
- [ ] 创建简单项目
- [ ] 实现基本功能
- [ ] 添加样式设计
3. **第三周**:进阶内容
- [ ] 学习高级特性
- [ ] 优化项目性能
- [ ] 编写测试用例
4. **第四周**:总结复习
- [ ] 整理学习笔记
- [ ] 准备期末项目
- [ ] 复习重点内容
API 功能列表
markdown
## API 端点
### 用户管理
1. `GET /api/users` - 获取用户列表
- 支持分页
- 支持搜索过滤
2. `POST /api/users` - 创建新用户
- 需要管理员权限
- 验证邮箱唯一性
3. `PUT /api/users/:id` - 更新用户信息
- 用户只能更新自己的信息
- 管理员可以更新任何用户
### 内容管理
- `GET /api/posts` - 获取文章列表
- `POST /api/posts` - 创建新文章
- `DELETE /api/posts/:id` - 删除文章
相关语法
练习
创建以下类型的列表:
- 一个三级嵌套的项目结构
- 一个包含代码示例的技术步骤列表
- 一个混合有序和无序的复杂列表
- 一个包含任务状态的项目清单