CSS3中poninter-events是什么意思,怎样使用
Admin 2022-07-13 群英技术资讯 316 次浏览
pointer-events 是什么?
顾名思义,pointer-events 是一个用于 HTML 指针事件的属性。
pointer-events 可以禁用 HTML 元素的 hover/focus/active 等动态效果。
默认值为 auto,语法:
我们常用的 auto | none 属性,需要注意的是,其他的属性只有 SVG 元素适用。
auto:可以使用指针事件。
none:禁用指针事件,需要注意的是, 当禁用指针的的元素有子/父元素时,在时间冒泡/捕获阶段,事件将在其子/父元素触发。
常用场景
1、禁用 a 标签事件效果
在做 tab 切换的时候,当选中当前项,禁用当前标签的事件,只有切换其他 tab 的时候,才重新请求新的数据。
<!--CSS--> <style> .active{ pointer-events: none; } </style> <!--HTML--> <ul> <li><a class="tab"></a></li> <li><a class="tab active"></a></li> <li><a class="tab"></a></li> </ul>
2、切换开/关按钮状态
点击提交按钮的时候,为了防止用户一直点击按钮,发送请求,当请求未返回结果之前,给按钮增加 pointer-events: none,可以防止这种情况,这种情况在业务中也十分常见。
<!--CSS--> .j-pro{ pointer-events: none; } <!--HTML--> <button r-model={this.submit()} r-class={{"j-pro": flag}}>提交</button> <!--JS--> submit: function(){ this.data.flag = true; this.$request(url, { // ... onload: function(json){ if(json.retCode == 200){ this.data.flag = false; } }.bind(this) // ... }); }
3、防止透明元素和可点击元素重叠不能点击
一些内容的展示区域,为了实现一些好看的 css 效果,当元素上方有其他元素遮盖,为了不影响下方元素的事件,给被遮盖的元素增加 pointer-events: none; 可以解决。
<!--CSS--> .layer{ backround: linear-gradient(180deg, #fff, transparent); } .j-pro{ poninter-events: none; } <!--HTML--> <ul> <li class="layer j-pro"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> </ul>
poninter-events 兼容性
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
新手在刚接触和学习CSS时,了解一些技巧对我们的帮助是很大的,可以帮助我们少走一些弯路,减少一些不必要的步骤,能够更快的完成代码的写入。下面就分享一些常用和实用CSS技巧,希望对大家学习有帮助。
本篇文章给大家介绍一下如何使用纯CSS实现鼠标点击拖拽效果,让交互更加生动,希望对大家有所帮助!
location指示了其所连接对象的url位置。Document和window对象中都有location属性,可以通过window.location和document.location访问。注意如果想要获得当前文档的完整url字符串,有四种方式document.location
全屏滚动效果是网页设计中比较常见的,能用户良好的视觉和交互体验。一般我们用fullpage.js来实现全屏滚动,fullpage.js是一个基于jQuery的插件,能够轻松制作出全屏网站。其实CSS也能实现全屏滚动效果,下面我们来具体看看。
本篇文章主要介绍了一份纯CSS loading效果代码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008