否定:在绝对定位元素的z-index之前,IE8中不起作用

Zii*_*iik 3 css z-index css-position internet-explorer-8 pseudo-element

我已经搜索过这个问题,并且知道IE8有​​使用伪标签渲染元素的怪癖,但无法找到我的问题的解决方案.我试图绝对定位一个元素并在其中添加一个伪:before元素,它必须位于其父元素之下.

使用:

.container:before {
    z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)

使用Firefox和Chrome进行操作但不在IE上; 这是小提琴http://jsfiddle.net/WaTnn/

如何在IE8中将黄色元素定位在红色下面并且仍然将它的父级置于绝对位置?

Zii*_*iik 5

我找到了一个有效的解决方案:

  1. 在容器内添加一个相对定位的div
  2. 设置它 z-index: -1
  3. :before元素添加到div而不是容器.

这是一个小提琴http://jsfiddle.net/WaTnn/3/

如果有人有更好的解决方案,我会很高兴看到它.