css – 在IE8上隐藏在子图像后面的父元素上的伪元素

前端之家收集整理的这篇文章主要介绍了css – 在IE8上隐藏在子图像后面的父元素上的伪元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么在IE8中,是在父母的孩子身后流动的pesudo元素的背景颜色?文本在前面流动,但背景颜色不在前面. Z-index似乎没有任何帮助.

我无法确定这是否是IE8中的错误.这似乎是一个非常常见的用例,但我找不到很多博客文章或与之相关的SO问题.

http://jsfiddle.net/VAg2E/

<div id="parent">
       <img src="http://placehold.it/200x200">
    </div>


    #parent{ padding: 20px; }
    #parent:before{
       content: 'Behind the image';
       position: absolute;
       top: 0;
       left: 0;   
       width: 100px;
       height: 100px;
       background-color: red;
    }

编辑:A related Stack Overflow Question about Stacking Order

解决方法

这绝对是IE8中的一个错误;因为你的:在定位伪元素之前,它应该创建一个新的堆叠上下文并且总是在img unless you give it a negative z-index之上绘制(即便如此,整个元素应该在它后面绘制,而不仅仅是它的背景).

这个问题似乎也特别适用于堆叠:之前和之后的伪元素和替换元素,如img.看起来IE8在堆叠方面对待替换内容的方式不同,但无论它做什么,它都绝对不符合规范.

您可能已经知道,这在IE9中已得到修复.

猜你在找的CSS相关文章