div增加鼠标点透,css设置点击穿透

Qt鼠标穿透 设置方法 // 一定要先设置鼠标穿透,否则无法穿透,应该是属性中间有值影响 setAttribute(Qt::WA_TransparentForMouseEvents, true); setWindowFlag(Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground, true); 入坑 // 一定要先设置鼠标穿透,否则无法穿透,此代码窗口无法穿透 setWindowFlag(Qt::FramelessWindowHi.. 阅读详情

需求:将一张照片盖到一个div上面,但同时下面div上面的点击事件不受影响。

这样就需要用到 CSS 的鼠标穿透属性:pointer-events: none,下面主要对pointer-events属性的值做一个简单的介绍。

pointer-event的所有属性值:

pointer-events: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit | initial | unset;

pointer-events属性定义元素是否对鼠标事件做出反应,从通用角度来说,只有以下4个值可用,剩余不多做说明,只适用于SVG(可缩放矢量)内容。

pointer-event的通用属性值:

pointer-events: auto | none | inherit | initial | unset;
  1. pointer-events: auto; 默认值,元素对鼠标事件正常反应。

  2. pointer-events: none; 元素不会成为鼠标事件的target,能够实现点击穿透的效果。l

    例如:想给登录页面加个水印,我们一个div块,设置水印图片作为背景图片定位到原登录页面登录模块的上面,并给这个div块设置这个属性,用户点击登录时可以穿透这个div块,点击到原本的登录页面,这样就不会影响原有的登录功能及登陆样式。

  3. pointer-events: inherit; 从其父元素继承此属性。

  4. pointer-events: initial; initial是一个关键字,会将pointer-events属性重置为最原始的值,

    先看一下官方文档解释:

    initial 关键字用于将 CSS 属性设置为其默认值。initial 关键字可用于任何 CSS 属性和任何 HTML 元素。

    由于pointer-events属性值过少,不方便看出来,以color属性为例,举个例子说明initial关键字的作用

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    span {
      color: green; 
    }
    span {
      color: red;
    }
    span {
      color: initial; 
    }
    </style>
    </head>
    <body>
    
     <span>Initial</span>
        
    </body>
    </html>
    

    上面的这个代码结构很简单:有一个span元素, 给span元素中文字“Initial‘设置颜色

     先将span 设置成绿色,又设置成红色,最终设置设置成initial。由于css的属性覆盖原则,下面的会覆盖上面的。所以最终生效的属性值是 color: initial;  ,那最终字体的颜色是什么颜色呢?如下图:
    

    image-20220530180556406

    是黑色的,即 initial 值会将它设置为最原始的值,即标签的默认值。

C#鼠标穿透功能(WinForm) 利用windows API实现鼠标穿透功能 阅读详情

相关推荐

Qt中实现鼠标穿透功能

在Qt应用程序开发中,有时我们需要实现鼠标穿透的功能,即让鼠标事件穿过一个窗口并传递给其下方的窗口。这在一些特定的场景下非常有用,比如当我们希望在一个有半明背景的窗口上方显示其他窗口的内容时。首先,我们需要创建两个窗口:一个是底层窗口,另一个是上层窗口。底层窗口负责接收鼠标事件,而上层窗口则是半明的,允许鼠标事件穿透到底层窗口。编译并运行上述代码,你将会看到一个底层窗口和一个上层窗口。上层窗口是半明的,鼠标事件会穿透到底层窗口。属性,使其对鼠标事件明,即鼠标事件会穿透到它下方的窗口。

CodeJolt的博客 1970

css点击穿透

能够实现对下层元素的操作。

qq_34907249的博客 1138

CSS3实现炫酷鼠标悬停图片遮罩动画特效

为了保证动画连贯性,必须明确界定两个状态:起始态:元素默认样态,通常是“隐藏”或“压缩”状态;结束态:hover或其他伪类触发的状态,表现为“显现”或“展开”。错误示例(会导致无动画):❌ 错误原因:transition定义在悬停状态下,离开时无法反向执行。✅ 正确做法始终将transition放在常态规则中。CSS3 的@keyframes。

weixin_35516273的博客 964

CSS点击事件穿透

假设盒子中有一个按钮,要实现。

weixin_74261199的博客 1740

css3 穿透属性 pointer-events

pointer-events 是一个蛮有趣的 CSS3 屬性,雖然主要是針對 SVG ,但其中幾個屬性應用在 div 上也是頗有意思。顧名思義,這是一個針對滑鼠事件的屬性,默认值为:auto,若值為 none,則可以穿透该元素,点击到下方的元素。除了 auto 與 none,其他都是控制 SVG 的屬性,若採用預設值,則 SVG 就是以 visiblePainted 來表現举例,如下代码:</</.yboxbackgroundrgba;margin;z-index;.gbox。

叶新东老师的博客 1180

pointer-events穿透点击并保证上层的元素也可点击

想要点击btn1但是btn1被上层box挡住,设置box {pointer-events: none;} 后点击box穿透到下层即可捕捉btn1的点击事件,同时点击box上的btn2也会穿透,无法捕捉到btn2的点击事件,想要捕捉btn2的点击事件给他加{pointer-events: all}就可以了- - <div class="content"> <button class="btn1" @click="click1">1111</button>

qq_40576549的博客 6990

移动端的点击穿透问题

1、概况 说完移动端点击300ms延迟的问题,还不得不提一下移动端点击穿透的问题。可能有人会想,既然cick点击有300ms的延迟,那对于触摸屏,我们直接监听 touchstart事件不就好了吗? 使用 touchstart去代替click事件有两个不好的地方。 1、touchstart昰指触摸屏幕就触发,有时候用户只是想滑动屏幕,却触发了 touchstart事件,这不是我们想要的结果。 2、使用 touchstart事件在某些场景下可能会出现点击穿透的现象。 什么是点击穿透? 假如页面上有两个元素A

yiyueqinghui的博客 1608

【bug修复】iframe 嵌套页面上层 fixed 元素遮挡内部点击失效,巧用pointerevents: none实现鼠标穿透

在大屏项目开发中遇到问题:父页面底部 fixed 定位 Tab 栏,z‑index 层级很高,盖住 iframe 内部页面底部区域,导致 iframe 里按钮、图表无法点击。尝试调整z‑index行不通,最终依靠pointerevents: none解决;本文讲解原理、代码示例、父子元素配置以及开发踩坑要

weixin_62593868的博客 675

穿透div ( pointer-events )

pointer-events是一个满有趣的CSS3属性,虽然主要是针对SVG ,但其中几个属性应用在div上也是颇有意思。顾名思义,这是一个针对鼠标滑动事件的属性,预设值为auto,若值为none,则可以穿越该元素,点击到下方的元素。除了auto和none,这是完整的属性列表:pointer-events: auto | none | visiblePainted | visibleFi...

weixin_30251587的博客 413

CSS 设置 pointer-events 忽略鼠标事件

CSS 为元素设置 pointer-events 属性为 none,从而忽略元素鼠标事件

qq_20765533的博客 1263

穿透iframe

Iframe 是一个独立的网页。当你松开鼠标时,如果鼠标恰好悬停在 Iframe 上,

m0_54241235的博客 473

vue 鼠标点击特效动画(css3动画),水波纹动画效果

效果展示 使用 在App.vue 中引用即可 代码如下 //waves.vue <template> <div class="Waves"> <div class="main-container"> <div class="waves"> <div class="wave" v-for="(item, key) in waves" :key="key"

haolangtaiye的博客 6938

html让该元素忽略所有鼠标事件,例如点击、悬停、拖拽都无效。

是,例如点击、悬停、拖拽都无效。

hashiqimiya的博客 419

Touch穿透

一、前言 相信很多移动开发者都有这样一个体会,那就是我们在移动端点击事件click对比touchend会有延迟,这是为什么呢? 其实这是因为览器在click后会等待约300ms去判断用户是否有双击行为,手机需要知道用户是不是想双击放大网页内容。如果300ms内没有再一次click,那么就判定这是一次单击行为,所以我们基本上都用(touchstart/touchend),但...

190

Electron创建不规则窗口

鼠标在圆形区域外移动时,窗口对象的mousemove事件触发,event.target为document.documentElement对象(这个事件并不是在html或body元素上触发的,而是在窗口对象上触发的,document.documentElement就是DOM树中的根元素,也就是html节所代表的元素)。首先,需要用到窗口对象的setIgnoreMouseEvents方法,该方法可以使窗口忽略窗口内的所有鼠标事件,并且在此窗口中发生的所有鼠标事件都将被传递到此窗口背后的内容。

liulun的博客 2090

Element UI修改CSS样式的问题

即使是模块化编程下,在对应的模块中import css进来,这个css仍然是全局的,就导致在css中需要加上对应模块的html的id/class 使用css选择器保证css的作用域不会变成全局而被其它模块的css污染。在vue中引入了scoped这个概念,scoped的设计思想就是让当前组件的样式不会修改到其它地方的样式,使用了data-v-hash的方式来使css有了它对应模块的标识,这样写css的时候不需要加太多额外的选择器,方便很多。important的情况靠自己一个一个尝试,这个还没看出来规律)

qq_40551628的博客 1557
上一篇: setTimeout是立即执行吗
下一篇: 《代码整洁之道 - 程序员的职业素养》读书笔记
木木木华
博客等级 码龄10年 29粉丝 72原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值