我有一个绝对定位的弹出表格,默认情况下是隐藏的(display:none;),并且在其航向上悬停时出现(display:block;)。它出现在页面上的其他所有东西之上,这就是我想要的。opacity值小于1的元素除外。它们显示在悬停表上方。为什么会这样,我又该如何避免呢?JSFiddle
display:none;
display:block;
opacity
2izufjch1#
这是“应该的”,但是要获得想要的结果,请在position: absolute元素上使用z-index: 1。我对此做了更多的研究,因为我很好奇为什么会发生这种情况。有两件重要的事情:1.具有position: absolute和z-index: auto的元素保持在相同的stacking context中。1.不透明度小于1的元素创建新的堆叠上下文。我发现this answer很有帮助,因为它更深入地说明了为什么会发生这种情况。
position: absolute
z-index: 1
z-index: auto
cx6n0qe32#
您可以通过将z-index: 1;添加到table.hidden来轻松避免此问题
z-index: 1;
table.hidden
2条答案
按热度按时间2izufjch1#
这是“应该的”,但是要获得想要的结果,请在
position: absolute
元素上使用z-index: 1
。我对此做了更多的研究,因为我很好奇为什么会发生这种情况。有两件重要的事情:
1.具有
position: absolute
和z-index: auto
的元素保持在相同的stacking context中。1.不透明度小于1的元素创建新的堆叠上下文。
我发现this answer很有帮助,因为它更深入地说明了为什么会发生这种情况。
cx6n0qe32#
您可以通过将
z-index: 1;
添加到table.hidden
来轻松避免此问题