表中的 Z 索引和工具提示(DOM 出现顺序)



好的,所以我试图在工具提示上覆盖所有父级div/元素的z索引,事实证明,我需要使用的表设置很困难。

http://jsfiddle.net/Z9H4U/5/

在前面的JS Fiddle中,将鼠标悬停在最下面的一行(#3),当鼠标悬停时,您会发现工具提示覆盖了第2行的单词"Content"。这是因为Z索引是从各自的父代继承的(我认为),因此是相等的。因此,堆栈顺序由DOM本身内的出现顺序决定。由于这个原因,工具提示会覆盖上面一行中的任何内容,而无法覆盖下面一行的任何内容。

我正在寻找解决方案,我知道这可能是不可能的,但我只是希望我错了!

那么为什么不保留td元素的z-index属性呢?

jsfiddle 的编辑版本

我想这就是你想要的,对吧?:)

btw:"position:relative对表行组、表头组、表页脚组、表行、表列组、表列、表单元格和表标题元素的影响是未定义的。",因此您可能不想在td元素中使用position-rerelative,而是在td元素或类似的元素中使用子div:)

我在第一行添加了一个带有position:relative的div,这样你就可以看到差异(如果你使用例如最新的firefox)

我确信这个特定的Z索引问题是无法避免的。我与@r3bel广泛讨论的答案没有考虑到我的特定用例,JS Fiddle也不是一个完全正确的解决方案。

我最终使用了Twitter Bootstrap的bootstrap-popover.js插件,该插件将popover动态地附加到<body>,以确保它在z索引堆栈中的位置得到尊重。

最新更新