html - 如何在另一个div前面获取一个div的子元素?

标签 html css

我试图在另一个 div 前面获取一个 div 的子元素,但 z-index 似乎只在 div 内工作:

HTML:

<div class="below">
  <div class="above">Oben!</div>
</div>

<div class="middle"></div>

CSS:

.below{
  position:absolute;
  z-index:0;
}

.middle{
  position:absolute;
  z-index:1;
}

.above{
  position:absolute;
  z-index:2;
}

我希望类按顺序出现:下方、中间、上方。这是一个 jsFiddle 来说明我的问题:http://jsfiddle.net/1Blerk/jH4vX/

最佳答案

.below 中移除 position:absolute

Updated demo

给一个元素一个绝对或相对的位置,以及一个 z-index,创建一个本地堆叠上下文。这意味着对于任何绝对或相对定位的子元素,它们的 z-index 是相对于它们的父元素(局部堆叠上下文)的,而不是相对于父元素之外的元素的 z-index。

如果.below需要绝对定位,那么把.below.above放在一个容器里,给容器 position:absolute 而不是 .below

关于html - 如何在另一个div前面获取一个div的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14980877/

相关文章:

jquery - 页面缩放/内容重叠

python - 你如何使用 jinja2 显示 markdown 值?

javascript - 转换为图像还是使用 Canvas ?

html - SVG(?)导致空白

html - 展开时无法在 IE11 中更改下拉边框颜色

javascript - $( "#tabs").tabs();不是函数

html - Canvas 图像 : center wide image and hide overflow

html - 下拉菜单不出现

javascript - 与我的实时网站集成时,隐藏和显示 div 的 JQuery 代码不起作用

html - 我如何在 ul 列表的图像上进行叠加,但仅在图像上而不是在图像的整个部分上进行叠加?