如何构建仅 HTML 的手风琴 — 无需 JavaScript!

2025-06-07

如何构建仅 HTML 的手风琴 — 无需 JavaScript!

如果你最近一直在看我的 Twitch 直播,你就会知道我正在重建、重新设计和重塑whitep4nth3r.com 的完整体验——而且我正尝试使用尽可能少的 JavaScript来实现。在为新的博客页面布局构建目录时,我发现了一种无需 JavaScript 就能用四行代码构建手风琴折叠面板的方法!快来一起看看吧!

使用 HTML 详细信息元素

要构建 HTML 折叠面板的标记,请使用<details>元素。使用<summary>标签为折叠面板提供标题。添加内容,就大功告成了!

<details>
  <summary>Section title</summary>
  <p>Here is the content!</p>
</details>
Enter fullscreen mode Exit fullscreen mode

默认加载打开的手风琴

默认情况下,<details>元素加载时处于关闭状态,而我始终希望在页面加载时不向读者隐藏内容。我们可以通过在元素中添加 open 属性来默认打开折叠面板<details>。完美!

<details open>
  <summary>Title</summary>
  <p>Here is the content that is open by default!</p>
</details>
Enter fullscreen mode Exit fullscreen mode

如果读者愿意,他们可以点击关闭折叠面板以尽量减少混乱——尤其是在移动设备上。

展示打开和关闭目录的点击的视频。

浏览器支持和可访问性

在撰写本文时,据 caniuse.com 报道,除了 Internet Explorer(显然!)和 Opera 之外,其他现代浏览器都完全支持详细信息元素。

我还确认该<details>元素在 Chromium、Firefox 和 Safari 中可以通过键盘访问。按 Tab 键切换到该元素,然后使用空格键或 Enter 键打开或关闭。

进一步阅读

如果您感兴趣,可以查看创建完整目录的源代码。在 MDN 上了解有关详细信息元素的更多信息,并享受使用 HTML 构建的乐趣!

文章来源:https://dev.to/whitep4nth3r/how-to-build-an-html-only-accordion-no-javascript-required-4jc4
PREV
什么是 REST API?
NEXT
我如何通过使用合适的工具大幅提升我的网站性能