当前位置: 首页 > 面试题库 >

是否可以将伪元素的堆叠顺序设置为其父元素以下?

姬奇思
2023-03-14
问题内容

我正在尝试使用:after伪元素CSS选择器设置元素的样式

#element {
    position: relative;
    z-index: 1;
}

#element::after {
    position:relative;
    z-index: 0;
    content: " ";
    position: absolute;
    width: 100px;
    height: 100px;
}

似乎::after元素不能低于元素本身。

有没有办法使伪元素低于元素本身?


问题答案:

伪元素被视为其关联元素的后代。要将伪元素放置在其父元素下方,您必须创建一个新的堆栈上下文以更改默认的堆栈顺序。 放置伪元素(绝对)并分配z索引值(不是“ auto”)会创建新的堆叠上下文。

#element {

    position: relative;  /* optional */

    width: 100px;

    height: 100px;

    background-color: blue;

}



#element::after {

    content: "";

    width: 150px;

    height: 150px;

    background-color: red;



    /* create a new stacking context */

    position: absolute;

    z-index: -1;  /* to be below the parent element */

}


<!DOCTYPE html>

<html>

<head>

  <meta charset="utf-8">

  <title>Position a pseudo-element below its parent</title>

</head>

<body>

  <div id="element">

  </div>

</body>

</html>


 类似资料:
  • 问题内容: 静态放置时,:: before伪元素堆栈(z-index)在孩子的内容之前,但在孩子的背景之后。谁能解释为什么甚至是怎么回事,或者这是所有主要浏览器都存在的问题吗? http://jsfiddle.net/funkyscript/ALrgf/ 问题答案: 的内容(包括两个伪元素和元素)参与相同的堆叠上下文(相对于)。正如您所注意到的,这是因为它们全部三个都是静态放置的。换句话说,根本没

  • 通常我们可能会认为 HTML 网页是个二维的平面,因为页面中的文本、图像或者其它元素都是按照一定顺序排列在页面上的,每个元素之间都有一定的间隙,不会重叠。然而,实际的网页其实是三维的,元素之间可能会发生堆叠(重叠),您可以通过 CSS 中的 z-index 属性来设置元素的堆叠顺序,如下图所示: 图:元素堆叠演示 每个元素都有一个默认的 z-index 属性,将 z-index 属性与 posit

  • 我有问题,因为我想在内部包围一些,所以我需要知道。 哪些DOM元素可以是tr的子元素?(我知道div不能。)

  • 问题内容: 同一元素是否可以有多个伪元素? 我正在尝试使用jQuery将上述样式应用于相同的元素,但仅应用了最新样式,从未应用过这两种样式。 问题答案: 在CSS2.1中,一个元素在任何时候最多只能具有任何一种伪元素。(这意味着一个元素可以同时具有a 和一个伪元素- 每种元素不能超过一个。) 结果,当您有多个匹配同一元素的规则时,它们将全部层叠并应用于单个伪元素,就像普通元素一样。在您的示例中,最

  • 问题内容: 如果我有以下Python代码 将保证始终是,或者是临时元件的其他排序可能吗? 问题答案: 是的,python列表中元素的顺序是持久的。

  • 我使用JAXB生成了类。它为一些复杂元素生成了列表。我提供了一个由JaxB生成的类示例- ArrayOfLineOfBusiness用于Customer类 我的模型类类似于以下内容: 下面是我的推土机贴图 我想设置ArrayOfLineOfBusiness,如果我的服务模型中的lineOfBusiness数组为空。有办法吗?