我有一个问题z-index
。我<img>
的不会出现在后面<div>
。
http://cssdesk.com/LGYZm <-- 这是代码示例。
<img>
and<div>
都是另一个的孩子,但<div>
child-div 应该出现在<img>
. 在这种情况下background-image
不是一种选择。
我有一个问题z-index
。我<img>
的不会出现在后面<div>
。
http://cssdesk.com/LGYZm <-- 这是代码示例。
<img>
and<div>
都是另一个的孩子,但<div>
child-div 应该出现在<img>
. 在这种情况下background-image
不是一种选择。
不完全确定你在问什么,我查看了你提供的链接,你是否试图完成你在顶部所拥有的东西,你所拥有的是底部的东西?
无论如何,你有这个:
#bg {
max-width: 100%;
position: relative;
z-index: auto;
}
#childbox2 {
width: 34%;
min-height: 500px;
float: right;
background: rgba(255, 255, 255, 0.6);
position: relative;
z-index: auto;
}
尝试这个:
#bg {
max-width: 100%;
position: relative;
z-index: 1;
}
#childbox2 {
width: 34%;
min-height: 500px;
float: right;
background: rgba(255, 255, 255, 0.6);
position: absolute;
top: 0;
right: 0;
z-index: 2;
}
您的 z-index 就像您在原始帖子中提到的那样,它基本上是堆叠顺序。但是,您对两者都有 auto ,浏览器可能无法识别(取决于您使用的浏览器)......因此,不要为您的两个子元素设置 auto ,而是按照您希望它们出现的实际顺序。因此,例如,如果您希望 #bg 在您的 #childbox2 下方,只需将 z-index: 1 放入您的#bg,并将 z-index: 2 作为您的 #childbox2,这意味着您的 #childbox2 将位于顶部#bg....
另外,尽量不要使用 %(百分比)作为宽度和高度,使用像素 - 根据我的经验,像素更好用 ;) 希望有帮助,如果有,请检查复选标记 ;) - 如果没有帮助,请解决您的问题问题多一点!
看看这个jsfiddle:
在#childbox2 和#bg 中,您将两个位置都设为相对位置,将#bg 保留为相对位置,但将#childbox2 位置更改为绝对位置,top: 0; 右:0;
这里的问题不z-index
在于你的 CSS 的其他部分。
z-index
不会从文档流中取出元素。它只影响堆叠顺序。
您需要修改定位/布局逻辑,以便两个元素按照您想要的方式水平/垂直对齐。
注意:在这种情况下,因为文字在图片之后,所以文字在堆叠顺序中自然会更高。