267 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 折叠面板
icon: carbon:collapse-categories
createTime: 2025/03/22 22:27:22
permalink: /guide/markdown/collapse/
---
## 概述
在 markdown 中,使用 `::: collapse` 容器,包含 markdown 无序列表语法,实现 ==折叠面板== 。
- 支持通过 `accordion` 设置为 ==手风琴== 模式
## 启用
该功能默认不启用,你需要在 `theme` 配置中启用。
```ts title=".vuepress/config.ts"
export default defineUserConfig({
theme: plumeTheme({
markdown: {
collapse: true, // [!code ++]
}
})
})
```
## 使用
在 markdown 中,使用 `::: collapse` 容器,包含 markdown 无序列表语法,每一项为一个单独的可折叠区域。
```md title="collapse.md"
::: collapse
- 标题 1 <!-- 标题,点击控制 展开/折叠 -->
<!-- 标题与内容必须空一行 -->
内容 <!-- 内容,被折叠的区域-->
- 标题 2
内容
:::
```
对于列表的每一个项:
- 从 __首行开始__ 到 __首个空行__均为 __标题__
- __首个空行之后__: 正文内容
:::important 请注意添加正确的缩进
:::
__一个简单的例子__
__输入__
```md
::: collapse
- 标题 1
正文内容
- 标题 2
正文内容
:::
```
__输出__
::: collapse
- 标题 1
正文内容
- 标题 2
正文内容
:::
## 配置
在 `::: collapse` 容器语法之后,跟随配置项:
- `accordion` :折叠面板设置为 ==手风琴== 模式,在手风琴模式下,只允许展开一个面板,点击其他面板会关闭之前的面板。
- `expand` :默认展开面板,在手风琴模式下无效。
在列表项,标题之前,可通过特殊标记 `:+` / `:-` 来设置当前项是否 __展开 / 折叠__。
## 示例
### 基本用法
__输入__
```md
::: collapse
- 标题 1
正文内容
- 标题 2
正文内容
:::
```
__输出__
::: collapse
- 标题 1
正文内容
- 标题 2
正文内容
:::
### 默认全部展开
添加 `expand` 选项,默认展开所有面板
__输入__
```md /expand/
::: collapse expand
- 标题 1
正文内容
- 标题 2
正文内容
:::
```
__输出__
::: collapse expand
- 标题 1
正文内容
- 标题 2
正文内容
:::
### 手风琴模式
添加 `accordion` 选项,设置为手风琴模式,只允许展开一个面板,点击其他面板会关闭之前的面板
```md /accordion/
::: collapse accordion
- 标题 1
正文内容
- 标题 2
正文内容
- 标题 3
正文内容
:::
```
__输出__
::: collapse accordion
- 标题 1
正文内容
- 标题 2
正文内容
- 标题 3
正文内容
:::
### `:+` 标记项为展开
折叠面板默认全部关闭,可以使用 `:+` 标记项初始状态为展开。
__输入__
```md /:+/
::: collapse
- 标题 1
正文内容
- :+ 标题 2
正文内容
- :+ 标题 3
正文内容
:::
```
__输出__
::: collapse
- 标题 1
正文内容
- :+ 标题 2
正文内容
- :+ 标题 3
正文内容
:::
### `:-` 标记项为折叠
折叠面板配置 `expand` 时默认全部展开,可以使用 `:-` 标记项初始状态为折叠。
__输入__
```md /:-/
::: collapse expand
- 标题 1
正文内容
- :- 标题 2
正文内容
- 标题 3
正文内容
:::
```
__输出__
::: collapse expand
- 标题 1
正文内容
- :- 标题 2
正文内容
- 标题 3
正文内容
:::