如何自定义 details 和 summary 元素的点击范围,仅对图标起作用?
2024-11-11 18:21:55
0浏览
收藏
大家好,今天本人给大家带来文章《如何自定义 details 和 summary 元素的点击范围,仅对图标起作用?》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

定制 details 和 summary 元素的点击范围
本文旨在解决如何自定义 details 和 summary 元素的点击范围,使其只对特定区域起作用。
问题描述
一位用户想要创建一个类似树形结构的表格,其中 details 和 summary 元素用于展开和关闭内容。但是,当前点击该行的任何位置都会触发展开或关闭动作,而用户希望仅在点击行最前面的图标时触发。
解决方案
- 添加额外 span 元素:在 summary 元素中添加一个嵌套的 span 元素。
- 阻止默认行为:在子 span 元素上添加 css,将其 display 属性设置为 inline-block,并阻止其默认阻止点击事件。
- 增加图标层级:在 summary 元素的 before 伪元素上增加 css,使其 z-index 值大于子 span 元素,确保图标始终在子 span 元素之上。
代码示例
css:
.tree summary::before {
position: relative;
z-index: 2;
cursor: pointer
}
.tree summary span::before {
content: '';
position: absolute;
left: 0;
right: 0;
height: 46px;
}javascript:
tree.addEventListener('click', function(ev) {
if (ev.target.tagName === 'SPAN') {
ev.preventDefault()
}
})通过这些步骤,点击行最前面的图标将触发展开或关闭动作,而不受行中其他区域的影响。
好了,本文到此结束,带大家了解了《如何自定义 details 和 summary 元素的点击范围,仅对图标起作用?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
Java InputStream 中 read() 和 readNBytes() 的区别:何时该选择哪种读取方法?
- 上一篇
- Java InputStream 中 read() 和 readNBytes() 的区别:何时该选择哪种读取方法?
- 下一篇
- 如何使用 docopt 库解析命令手册中的命令?
查看更多
最新文章
-
- 文章 · 前端 | 9分钟前 |
- 原始值包装对象与普通对象的区别
- 247浏览 收藏
-
- 文章 · 前端 | 12分钟前 |
- noframes标签作用及使用方法详解
- 440浏览 收藏
-
- 文章 · 前端 | 15分钟前 |
- JavaScript性能监控与页面加载时间测量方法
- 378浏览 收藏
-
- 文章 · 前端 | 18分钟前 |
- ES6模块与CommonJS对比解析
- 214浏览 收藏
-
- 文章 · 前端 | 19分钟前 |
- localStorage与sessionStorage区别详解
- 108浏览 收藏
-
- 文章 · 前端 | 22分钟前 |
- CSS等比缩放技巧:用padding-top实现比例盒子
- 460浏览 收藏
-
- 文章 · 前端 | 22分钟前 |
- SCSS为何适合大型项目?工程化优势解析
- 319浏览 收藏
-
- 文章 · 前端 | 23分钟前 |
- CSS实现横向标签滑动效果
- 268浏览 收藏
-
- 文章 · 前端 | 34分钟前 |
- HTML与CSS如何协同工作?
- 130浏览 收藏
-
- 文章 · 前端 | 36分钟前 |
- HTML空格符号怎么打_数据渲染后空格丢失怎么补救
- 419浏览 收藏

