css – Z-index与伪元素之前

前端之家收集整理的这篇文章主要介绍了css – Z-index与伪元素之前前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个带有before-pseudo元素的“header”元素。该假元素必须在父元素之后。
一切都很好,直到我给我的“头”一个z指数。

我想要的:前景上的黄色“标题”,背景中的红色伪元素和黄色“标题”元素上的简单z索引为30。

header { 
    background: yellow;
    position:relative;
    height: 100px;
    width: 100px;
    z-index:30; /*This is the problem*/
}

header::before { 
    content:"Hide you behind!";
    background: red;
    position:absolute;
    height: 100px;
    width: 100px;
    top:25px;
    left:25px;
    z-index:-1;
}

您可以在此链接(http://jsfiddle.net/tZKDy/)上测试我的问题,并且您在de’header’元素上设置/删除z-index时会看到问题。

解决方法

:: before伪元素放置在头元素内。

CSS Spec

The :before and :after pseudo-elements interact with other Boxes as if they were real elements inserted just inside their associated element.

设置头元素creates a new Stacking Context的z-index,因此您创建的新伪元素不能浮动在头元素后面,因为它必须在该堆叠上下文之外。

我建议您简单地在头元素之前添加另一个元素,因此默认情况下它会正确堆叠。 Example

猜你在找的CSS相关文章