HTML 词条目录
前端Wiki/词条/details 折叠面板

details 折叠面板

定义纯 HTML 实现的展开收起面板,常温常备的 FAQ 与侧栏控件

details 内部放一个 summary 标签作为标题,其余内容点击标题后展开。open 属性表示初始展开状态,也可以在 JS 里直接读写。默认样式带一个小三角箭头,可以用 list-style:none 或对 ::marker/::-webkit-details-marker 做样式覆盖。_FAQ 场景下它几乎是零成本方案:不用维护任何展开状态变量。

与 JS 手写折叠相比,details 的优势是状态内建、键盘可操作、无 JS 也能运行,对无障碍工具天然友好。局限是动画要靠 JS 或新特性配合实现,多级嵌套时样式控制相对繁琐。SEO 方面,Google 明确抓取 details 内容作为常见问题的富摘要来源,写 FAQ 时顺手用它能多吃一波搜索流量。

HTML
<style>
  details.panel { border: 1px solid #4a9eff; border-radius: 8px;
                  margin-bottom: 8px; padding: 8px 12px; }
  details.panel summary { cursor: pointer; font-weight: bold;
                          color: #4a9eff; }
  details.panel summary::-webkit-details-marker { color: #e78a3e; }
</style>
<details class="panel" open>
  <summary>什么是 HTML?(默认展开)</summary>
  <p>超文本标记语言,用来描述网页结构的标记语言。</p>
</details>
<details class="panel">
  <summary>什么是 CSS?</summary>
  <p>层叠样式表,负责网页的视觉表现层。</p>
</details>
<details class="panel">
  <summary>什么是 JavaScript?</summary>
  <p>运行在浏览器里的脚本语言,负责交互逻辑。</p>
</details>
⚠ 常见误区
🔗 相关词条标签元素
← 返回来源章节标签