css 为什么不透明会使一个元素出现在另一个元素的上方,而没有不透明的元素出现在下方?

ejk8hzay  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(234)

我有一个绝对定位的弹出表格,默认情况下是隐藏的(display:none;),
并且在其航向上悬停时出现(display:block;)。
它出现在页面上的其他所有东西之上,这就是我想要的。
opacity值小于1的元素除外。
它们显示在悬停表上方。
为什么会这样,我又该如何避免呢?
JSFiddle

2izufjch

2izufjch1#

这是“应该的”,但是要获得想要的结果,请在position: absolute元素上使用z-index: 1
我对此做了更多的研究,因为我很好奇为什么会发生这种情况。有两件重要的事情:
1.具有position: absolutez-index: auto的元素保持在相同的stacking context中。
1.不透明度小于1的元素创建新的堆叠上下文。
我发现this answer很有帮助,因为它更深入地说明了为什么会发生这种情况。

cx6n0qe3

cx6n0qe32#

您可以通过将z-index: 1;添加到table.hidden来轻松避免此问题

相关问题