我有一个覆盖元素,它隐藏了其他包含文本的 div。
覆盖元素是绝对定位的。
我希望用户能够选择这些 div 后面的文本。
我的解决方案是隐藏用户事件 mouseDown 上的覆盖层(显示:无),并在 mouseUp 事件发生时再次显示它。
这样,一旦覆盖层被隐藏,用户就可以选择文本(只要 mouseUp 尚未发生)。
这个解决方案似乎适用于 chrome 和 safari,但不适用于 firefox,有什么建议吗?
你可以使用pointer-events https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events在您想要单击“通过”的元素上:
pointer-events: none;
在某些浏览器中可能需要前缀。
示例:这里without pointer-events: none
,您无法选择文本:
#outer {
width: 100px;
height: 100px;
display: inline-block;
border: 1px solid black;
position: relative;
}
#inner {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.5;
background-color: yellow;
}
<div id="outer">
Testing 1 2 3
<div id="inner"></div>
</div>
Here with pointer-events: none
, 你可以:
#outer {
width: 100px;
height: 100px;
display: inline-block;
border: 1px solid black;
position: relative;
}
#inner {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
opacity: 0.5;
background-color: yellow;
pointer-events: none;
}
<div id="outer">
Testing 1 2 3
<div id="inner"></div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)