HTML将一个子元素堆叠在它父元素的兄弟之上,该元素在父元素之上已经是z-index'd

时间:2012-06-27 16:18:44

标签: html css z-index

我想让橙色div渲染在其他div之上,

不改变HTML标记(即静态地,或通过DOM树操作动态地)并且不改变兄弟或父级的z-index。

我可以使用任何可行的解决方案,JS,CSS或otehrwise(即适用于所有主流浏览器)

http://jsfiddle.net/jaSe7/

鉴于这些限制,实际上可能无法做我想做的事。

更新:看看这个小提琴应该看起来如何:http://jsfiddle.net/chippper/jaSe7/1/然而小提琴对我来说不起作用,因为它操纵了DOM。

2 个答案:

答案 0 :(得分:2)

如果您无法直接更改HTML,则必须使用JavaScript。你需要将孩子移出它的父母,以使它在兄弟div之上进行索引。在jQuery中有类似的东西:

var childHtml = $('#parent').html();
$('#child').remove();
$('#parent').after(childHtml);

See my updated fiddle.

答案 1 :(得分:0)

不确定这是否仍然是一个问题,但我发现了这个问题:

Z-Index Relative or Absolute?

埋藏在讨论中的是这条评论:

“如果您在示例中删除 X 上的 z-index,则不会创建新的堆叠上下文,并且 3 将与 2 重叠” – fionbio 20 年 9 月 23 日 18:02

因此,对于上述情况,如果您运行 fiddle,删除父元素的 z-index,那么 z-index 将按预期运行。现在,如果您需要对父元素进行 z 索引,那么我不确定选项是什么。