css - 一个元素如何定位在其父元素之后但仍在其祖父元素之前?

标签 css z-index

我将三个元素堆叠在一起。现在,我希望将最里面的元素放在其父元素的后面,但仍在其祖父元素的前面。我尝试了 z-index 设置的不同变体,但没有成功。

根据我对 z-index 的理解,代码应该是:

<div style="width: 400px; height: 400px; background-color: purple; position: relative; z-index: 1;">
    <div style="width: 200px; height: 200px; background-color: blue; position: relative; z-index: 1;">
        <div style="width: 100px; height: 100px; background-color: green; position: relative; z-index: -1;"></div>
    </div>
</div>

除了它没有。

有什么解决办法吗?

最佳答案

如果您从第二个 div 中删除相对位置,它将起作用

CSS

.div1{
  width: 400px; 
  height: 400px; 
  background-color: purple; 
  position: relative;
  z-index: 1;
}

.div2{
  width: 200px; 
  height: 200px; 
  background-color: blue;  
  z-index: 1;
}

.div3{
  width: 100px; 
  height: 100px; 
  background-color: green; 
  position: relative;
  z-index: -1;
  left:150px;
}

HTML

<div class='div1'>
    <div class='div2'>
        <div class='div3'></div>
    </div>
</div>

示例:http://jsfiddle.net/MFULL/90/

关于css - 一个元素如何定位在其父元素之后但仍在其祖父元素之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281187/

相关文章:

html - Container Div 没有封装内容

html - Flex 流程在 IE11 中不起作用

css - 具有较低 z-index 的图像继续内容

css - Google Chrome、Flash 和 z-index 错误行为

html - z-index 在 safari 中不起作用

flash - Google Chrome、Flash 和 z-index 错误行为

css - 将半 SASS、半 CSS 改造为 SASS 的简单方法?

html - 如何创建可变宽度的 CSS 按钮?

JavaScript 类列表选择器错误

html - CSS - Z-index 不适用于相对和绝对位置