在写技术博客时,有时候我们需要隐藏一些细节内容,让读者可以选择性地查看。Astro 的 MDX 支持让我们可以轻松地添加这样的交互功能。
基本用法
👉 基本折叠示例
这是最基本的折叠内容示例。
你可以在这里放置:
- Markdown 格式的文本
- 代码块
- 列表
- 等任何 Markdown 支持的内容
自定义图标
🔍 使用自定义图标
你可以通过 icon 属性自定义折叠指示器。
比如这里使用了放大镜图标 🔍
默认展开
👉 默认展开的内容
通过设置 defaultOpen={true}
可以让内容默认展开。
这对于重要内容很有用。
代码示例
💻 查看完整代码
---
interface Props {
title: string;
defaultOpen?: boolean;
icon?: string;
}
const { title, defaultOpen = false, icon = "👉" } = Astro.props;
---
<details class="my-4" open={defaultOpen}>
<summary>
<span class="icon">{icon}</span>
{title}
</summary>
<div class="mt-3 pl-4">
<slot />
</div>
</details>