news 2026/5/1 10:54:01

深入浅出 CSS 属性:pointer-events: none

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深入浅出 CSS 属性:pointer-events: none

一、 核心概念

pointer-events: none是一个功能强大的 CSS 属性。简单来说,它会让元素对鼠标/触摸事件完全免疫

  • 视觉可见,交互虚化:元素依然在页面上渲染,但点击、滚动、悬停(Hover)等事件会直接“穿透”该元素,作用于其下层的元素。

  • 类似disabled但更广:除了input标签外,它可以应用于任何 HTML 标签(如adivview等)。

大家都知道input[type=text|button|radio|checkbox]支持disabled属性,可以实现事件的完全禁用。如果其他标签需要类似的禁用效果,可以试试pointer-events: none

举个简单的例子:

<a href="http://sf.gg" style="pointer-events: none">click me</a>

这个链接,你是点不了的,并且 hover 也没有效果。(值得一提的是,仅仅是鼠标事件失效,用 tab 键还是可以选中该链接的,然后 enter 打开,这个时候可以去掉 a 标签的 href 属性,就不能让 tab 键选中了)

pointer-events: none顾名思义,就是鼠标事件拜拜的意思。元素应用了该 CSS 属性,链接啊,点击啊什么的都变成了 “浮云牌酱油”。pointer-events: none的作用是让元素实体 “虚化”。例如一个应用 pointer-events: none 的按钮元素,则我们在页面上看到的这个按钮,只是一个虚幻的影子而已,您可以理解为海市蜃楼,幽灵的躯体。当我们用手触碰它的时候可以轻易地没有任何感觉地从中穿过去。


二、 场景一:防止子元素干扰父元素事件(你的代码示例)

在开发 UI 组件(如列表项)时,我们经常遇到**“事件冒泡”“点击冲突”**的问题。

checkbox被嵌套在了一个具有@click="toggleSelect(item)"事件的父级view中。

<view class="flex" @click="toggleSelect(item)"> <checkbox :checked="..." style="transform: scale(0.8); pointer-events: none" /> </view>
  1. 统一点击区域:如果用户精准点击了checkbox,默认情况下会触发checkbox自身的切换。通过设置nonecheckbox变成了纯粹的状态展示组件。

  2. 避免冲突:点击checkbox的动作会穿透到父级view上,从而触发父级的toggleSelect函数。这保证了无论点击卡片的哪个位置,逻辑处理都是统一的,且不会因为checkbox的默认行为导致逻辑错乱。


三、 场景二:装饰性元素的“穿透”处理

现代网页设计中,常会有浮在文字上方的遮罩层、水印或装饰图片。

  • 遮罩层/水印:如果你在页面上覆盖了一个全屏的水印或半透明渐变层,如果不加此属性,用户将无法点击下方的按钮或选择文字。

  • 解决方式

    CSS
    .overlay { position: absolute; top: 0; pointer-events: none; /* 穿透遮罩,点击下方内容 */ }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:04:24

资源提取工具全面解析:零基础入门实战指南

资源提取工具全面解析&#xff1a;零基础入门实战指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 一、技术原理&#xff1a;资源提取与转换的底层逻辑 RePKG作为一款针对Wallp…

作者头像 李华
网站建设 2026/4/19 19:00:40

解决GitHub英文痛点:GitHub中文插件让开发者效率提升30%的秘密

解决GitHub英文痛点&#xff1a;GitHub中文插件让开发者效率提升30%的秘密 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 作为开发者…

作者头像 李华
网站建设 2026/5/1 7:21:58

突破传输瓶颈:3步实现文件下载速度提升20倍

突破传输瓶颈&#xff1a;3步实现文件下载速度提升20倍 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 开篇诊断&#xff1a;文件传输的三大临床症状 在数字化办公环境中&…

作者头像 李华
网站建设 2026/5/1 8:37:04

在服务器(Ubuntu)无sudo权限安装matlab

Linux MATLAB R2024a v24.1 打开破解文件看到是由羽享平台分享 百度网盘链接&#xff1a;https://pan.baidu.com/s/17ERtLgm950phpjnMRaDugg?pwd1kcw 提取码&#xff1a;1kcw 秘钥&#xff1a;21471-07182-41807-00726-32378-34241-61866-60308-44209-03650-51035-48216-2473…

作者头像 李华
网站建设 2026/5/1 5:07:34

Emotion2Vec+ Large语音情感识别系统部署教程:Python调用示例

Emotion2Vec Large语音情感识别系统部署教程&#xff1a;Python调用示例 1. 系统概览与核心价值 Emotion2Vec Large语音情感识别系统是一套开箱即用的高性能情感分析工具&#xff0c;由科哥基于阿里达摩院开源模型二次开发构建。它不是简单的模型封装&#xff0c;而是经过工程…

作者头像 李华
网站建设 2026/4/30 11:19:17

语音日记自动分类心情,这个小项目太治愈了

语音日记自动分类心情&#xff0c;这个小项目太治愈了 你有没有试过录一段语音日记&#xff0c;却在回听时被自己的情绪状态吓了一跳&#xff1f; “原来刚才我那么疲惫”“这段话里藏着委屈&#xff0c;我自己都没意识到”“笑得这么大声&#xff0c;其实是在掩饰压力”…… …

作者头像 李华