如何反转嵌套子元素的顺序
How to reverse the order of nested child elements
假设我有以下HTML代码
.HTML
<div class="a">
<div class="b">
<div class="c"></div>
</div>
</div>
.CSS
.a, .b, .c {
width: 100px;
height: 100px;
position: relative;
}
.a {
background: red;
z-index: 999;
}
.b {
background: green;
margin: 40px;
z-index: 500;
}
.c {
background: gray;
margin: 40px;
z-index: 100;
}
现在,我希望它完全相反,即顶部是红色的。我尝试使用位置设置为 relative
的 z-index,但它不起作用。这是 jsfiddle 演示
你不能。父项将始终位于子项后面,因为z-index
值是堆叠的。
渲染树绘制到画布上的顺序是根据堆叠上下文来描述的。堆叠上下文可以包含更多堆叠上下文。从其父堆叠上下文的角度来看,堆叠上下文是原子的;其他堆叠上下文中的箱子可能不在其任何箱子之间。- W3 http://www.w3.org/TR/CSS2/visuren.html#z-index
通过在 .a
上设置z-index
,您还将对所有子项设置相同的z-index
。例如,通过在.a
上设置z-index:999
-- .b
,.c
现在也有相同的索引,使其无用。为此,元素不能是另一个人的父母或孩子,他们必须是兄弟姐妹才能正常工作。
如果他们是兄弟姐妹,这就是它的样子 - 它有效!
相关文章:
- 按我自己的类克隆另一个元素的内容和顺序
- 重新排列HTML元素的顺序并更改内容
- 在Javascript中列出顺序子集元素
- HEAD中LINK和STYLE元素的求值顺序
- 如何在php中按元素按字母顺序排列json文件
- Javascript - 如何按顺序从数组中挑选随机元素
- 使用 KNOCKOUT.js 在禁用元素的 HTML 中保持 Tab 键顺序
- 如何将.append()创建的元素顺序添加到先前添加的元素中
- 排列<p>使用jQuery按日期顺序排列的元素
- 通过普通JS更改元素的索引(顺序)
- 按随机顺序对元素进行动画处理
- 在不使用jQuery sortable的情况下警告丢弃元素的顺序
- 如何使用jQuery以与多选框中相同的顺序检索多选框中所有选定和未选定的元素
- 循环中元素的显示顺序
- 在Firefox中的keydown事件中隐藏元素时焦点顺序错误
- 使用动态构建的 jQuery 承诺链按顺序激活特定元素
- 如何按顺序将类添加到元素集合
- 如何反转 JavaScript 变量中 HTML DOM 元素的顺序
- 按顺序显示动画 SVG 元素
- Jquery/CSS带回调的顺序元素动画