我想制作一个与position:fixed
重叠但与内容重叠的div,但不能点击,即当你点击该div区域时,你点击它下面的内容。因此,div下的文本可以很容易地选择。有没有办法做到这一点?
答案 0 :(得分:28)
解决方案是将pointer-events: none;
添加到重叠div的CSS中。这将导致指针事件的所有事件都忽略重叠的div。
这在此处进行了演示:http://jsfiddle.net/nayish/7hHvL/。
您会注意到,仅为底部div设置的警报在单击重叠div时也起作用。
答案 1 :(得分:0)
在setCapture
div
hoverOver
div
期间releaseCapture
期间您可能需要使用hoverOut
var underlyingDiv = document.getElementById ("div1");
var overlyingDiv = document.getElementById ("div2");
overlyingDiv.onHoverOver = "underlyingDiv.setCapture";
overlyingDiv.onHoverOut = "underlyingDiv.releaseCapture";
{{1}}
答案 2 :(得分:0)
前面显示的内容也是点击的内容。处理这种情况的一种方法是为链接上显示的链接制作透明图形,并在位置绝对内容前面对透明图像进行zindex。如果链接是已知大小的菜单按钮,则很容易做到。
更新示例
<a href="#">
<img src="transparent.gif" width="100" height="100" style="position:absolute; zindex:100">
</a>
<div style="width:100px; height:100px">
this is my menu button
</div>
img position:绝对保持在div菜单按钮上的当前屏幕位置。 zindex将把它推到固定内容的前面。如果您知道所覆盖链接的空间,那么很容易。
答案 3 :(得分:0)
我有同样的问题。基本上我已经设计了侧边栏,左侧是固定的,右侧是可滚动的。左侧包含链接,当我尝试导航时,我发现该链接不可点击。我将z-index: 1
更改为z-index: 100
。因此,我的导航链接再次起作用。
答案 4 :(得分:0)
遇到了同样的问题。但我找到了一种对我有用的方法。您可以简单地将固定元素放置在与其重叠的容器内。当您设置 position: fixed 时,元素在标记中的位置无关紧要,因为它仍然会停留在同一个位置。