我不相信纯CSS可以实现这一点,但我想确认一下。
我有两个要素。一个在另一个上面。当用户将鼠标悬停在顶部元素上时,我想隐藏它并允许指针事件传递到底部元素。当用户停止悬停时,我想重新显示该元素。
我在下面制作了一个例子,但它闪烁着。这显然是因为:hover效果在每次鼠标移动时都会因指针事件而打开/关闭:无。
这可以在没有JavaScript的情况下实现吗?
html,
body {
margin: 0;
}
.container {
height: 500px;
width: 500px;
background-color: red;
}
.container:hover {
background-color: blue;
}
.box {
height: 200px;
width: 200px;
background-color: green;
position: absolute;
left: 0;
top: 0;
}
.box:hover {
opacity: 0;
}

<div class='container'>
</div>
<div class='box'>
</div>
&#13;
答案 0 :(得分:0)
我认为你想要display:none或visibility:hidden,除非我过分夸大事物。
答案 1 :(得分:0)
为了以防万一,我会暂时保持这种状态,但我不相信我只需要用CSS就可以实现。
我的解决方案是:
getBoundingClientRect
.box
.box
并根据需要设置状态。这很丑,但它会的!
答案 2 :(得分:0)
到目前为止看到的答案和评论,我是否相信OP想要这样的东西?
html,
body {
margin: 0;
}
.container {
height: 250px;
width: 500px;
background-color: red;
}
.container:hover {
background-color: aqua;
}
.behind {
height: 200px;
width: 200px;
position: absolute;
left: 0;
top: 0;
overflow: visible;
}
.box {
height: 200px;
width: 200px;
background-color: green;
position: absolute;
left: 0;
top: 0;
}
.behind:hover .box{
opacity: 0;
pointer-events: none;
}
&#13;
<div class='container'>
<div class='behind'>
<ul>
<li>Massively long text blah blah blah blah blah blah blah blah</li>
<li>Massively long text 2 blah blah blah blah blah blah blah blah</li>
</ul>
<div class='box'>
</div>
</div>
</div>
&#13;
唯一的问题是指针事件不是直接在.container
div上,但是点击应该从.behind
div冒出来,除非你想隐藏.box
下面的按钮1}} div,在这种情况下你可以将按钮放在.behind
div上,如果那就足够了?
如果有更多关于OP在.container
div中想要什么的信息以及需要在其上触发哪些鼠标事件,这将有所帮助。