无法回答“为什么”(我认为这可能是一个错误)。好像我记得以前在 Chrome 上遇到过类似的问题,并想出了一个与我在这里提供的类似的解决方法。不知何故,添加伪元素的“覆盖”会导致整体变得“可点击”。在你的情况下,我注意到如果我点击顶部div
,它也没有注册,但是当我将top
调整添加到:before
状态:active
时,这似乎也解决了。
这个小提琴似乎有一个可行的解决方案。HTML 与您的小提琴相同(除了我将内容添加到警报中):
HTML
<div class="tabs-container">
<div onclick="alert('here')">Click below the text</div>
</div>
CSS
.tabs-container div{
display: inline-block;
background: whitesmoke;
padding-bottom: 5px;
font-size: 25px;
border-bottom: 5px solid grey;
position: relative;
}
.tabs-container div:active{
top: 10px;
border-bottom: 0;
}
.tabs-container div:before {
position: absolute;
content: '';
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.tabs-container div:active:before {
top: -10px;
}
</p>