details标签是HTML5中用于创建可折叠内容的原生元素,配合summary标签实现展开/收起功能,默认收起内容,添加open属性可默认展开,适用于FAQ、参数说明等场景,现代浏览器支持良好,可通过CSS自定义样式。

details 标签是 HTML5 中用于创建可折叠内容块的原生元素,无需 JavaScript 就能实现“展开/收起”效果。它常用于文档、帮助信息或配置项等需要节省空间展示的场景。
基本用法
details 标签包裹的内容默认是收起的,用户点击后才会显示内部详情。配合 summary 标签可定义标题行,作为展开/收起的触发控件。示例代码:
浏览器中会显示为一个带箭头图标的标题行,点击后内容展开,再次点击收起。点击查看说明
这里是被隐藏的详细内容。只有点击标题后才会显示。
默认展开设置
如果希望内容默认处于展开状态,给 details 标签添加 open 属性即可。示例:
立即学习“前端免费学习笔记(深入)”;
这样页面一打开就会显示内部内容,用户仍可点击收起。已展开的说明
页面加载时内容已经可见。
样式与兼容性
summary 元素的默认样式由浏览器提供,通常左侧有一个小三角图标。可通过 CSS 修改外观,比如去掉默认箭头或更改字体样式。CSS 示例:
summary {
cursor: pointer;
font-weight: bold;
}
summary::-webkit-details-marker {
display: none;
}
注意:IE 和部分旧浏览器不支持 details 标签,使用前需考虑兼容性。现代主流浏览器(Chrome、Firefox、Edge、Safari)均支持良好。
实际应用场景
适合用于 FAQ 问答、技术文档参数说明、表单高级选项等需要折叠的区域。常见用途包括:
- 帮助提示信息折叠展示
- 错误日志的详情收起
- 商品页的规格参数展开
- 配置面板中的高级设置











