html - Z-Index 不适用于子 Div

标签 html css indexing z-index

这是 fiddle :http://jsfiddle.net/gBQqQ/

这是 html:

<div id='testtexture'>
<div id='testinside'>
<div style='vertical-align: top;' class='test'></div>
</div>
</div>

还有CSS:

.test {
width: 50px;
position: relative;
margin-left: auto;
margin-right: auto;
min-height: 130px;
height:auto;
padding-bottom:50px;
background:blue;
}
#testtexture {
width: 100%;
position: relative;
top: 10px;
}
#testinside {
z-index: 3;
background:red;
position:relative;
}

我不明白为什么会出现问题。我希望要么是我遗漏了一些明显的东西,要么是存在一个潜在的问题,这意味着我不能让红色 div 高于蓝色 div - 也许是因为它是蓝色 div 的子元素?

最佳答案

一般来说,让子 div 出现在它的父元素后面并不是最好的主意。通常,您会将子 div 带到父 div 之外来执行此操作。尽管如此,这是可能的。将 z-index:-1 添加到子 div 并从父 div 中删除 position:relative

HTML

<div id='testtexture'>
    <div id='testinside'>
        <div class="test"></div>
    </div>
</div>

CSS

.test {
    position: relative;
    z-index: -1;
    width: 50px;
    margin: 0 auto;
    height: auto;
    min-height: 130px;
    padding-bottom: 50px;
    background: blue; }

#testinside { background: red; }

参见 fiddle :http://jsfiddle.net/gBQqQ/1/

如果你使用 Firebug ,你可以看到 div.test 仍然在它父级后面的正确位置。作为旁注,您在 div 上的样式 vertical-align 不会做任何事情。

关于html - Z-Index 不适用于子 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18589732/

相关文章:

html - 当鼠标悬停时,是什么导致 IE 中的按钮变成蓝色?

html - 如何在两个 <div> 之间保持居中图像

CSS改变样式

html - 在 Safari 的响应式设计模式中,如何将视口(viewport)宽度设为特定的 px 大小?

javascript - Addclass 不是 jQuery 中的函数

jquery - 带有圆 Angular 的 div 中的滚动条

javascript - 通过将鼠标悬停在文本上来滑动新文本框

elasticsearch - 如何在 “more like this”查询中组合不同的索引?

sql - 数据库中的分区和索引有什么区别? (性能方面)

sql - 使用 JSONB 数据查询 Postgres 表