使用HTML5的details元素可创建无需JavaScript的可折叠区域。1. 基本结构由details包裹summary标题和隐藏内容,默认关闭;2. 添加open属性使内容默认展开;3. 可通过CSS自定义样式,如修改箭头图标;4. 适用于FAQ、提示信息等场景,具备良好可访问性。

使用HTML5的details元素可以轻松创建可折叠的内容区域,无需JavaScript或CSS框架。这个原生HTML功能非常适合展示可选信息,比如帮助文本、FAQ内容或技术细节。
基本语法与结构
details元素用于包裹可展开和收起的内容,默认情况下是关闭的。配合summary元素,可以定义点击触发展开的标题。
这里是被隐藏的详细内容。只有用户点击后才会显示。
浏览器会自动为summary添加一个小箭头图标,表示可交互。用户点击后,内容会展开或收起。
立即学习“前端免费学习笔记(深入)”;
默认展开状态
如果希望内容一开始就是展开的,可以在details标签中加入open属性。
已展开的标题
页面加载时,这段文字已经可见。
这个属性没有值,只要存在就会生效。刷新页面后状态不会保留,始终以是否有open为准。
样式自定义(可选)
虽然details和summary有默认样式,但你可以用CSS调整外观。
例如,移除默认箭头并添加自定义符号:
也可以设置边框、内边距或背景色来提升视觉效果。
实际应用场景
这种结构适合多种用途:
- FAQ页面中的问题与答案折叠
- 表单说明或提示信息的收纳
- 错误日志或调试信息的隐藏展示
- 文档中可选的技术细节补充
它对屏幕阅读器友好,具备良好的可访问性,是语义化HTML的推荐做法。
基本上就这些。不需要复杂的代码,一个标签组合就能实现简洁实用的折叠功能。











