z-index为啥无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了z-index为啥无效相关的知识,希望对你有一定的参考价值。

<meta charset=utf-8>
<style>
.div
width:100px;
height:100px;
background-color:#cccccc;
z-index:100;
position:relative;

.span
width:50px;
height:50px;
background-color:#FFFFFF;
z-index:1;
position:relative;

</style>
<div class="div"> <div class="span"></div> </div>

参考技术A

看你的回复和代码,你这html代码结构写的就不对的,div在span的上面,那就要把span写在外面包着div,所以你的html写反了:

<div class="span"> 
    <div class="div"></div>
</div>


css则是span要 position:relative,然后div则是 position:absolute;


希望对你有所帮助,望采纳!

追问

虽然是跟我的要求一样
我现在就想让父div的背景色将子div的背景色盖掉
父的div背景色为灰色,子的div背景色为白色,这样设置父的z-index>子的z-index
应该符合要求,可以现在不可以

参考技术B .div***;
/*z-index:100*/

.span***;
z-index:-1;
追问

虽然符合要求,不过为什么要将z-index:100注释掉,z-index:-1
z-index谁大谁显示在最外面啊?

参考技术C 就你这两个div代码写成这样,能显示正常才怪追问

那应该怎么写,请指教,我两个层都设置了position

参考技术D 代码没问题,好着呢追问

没有好呀

我想让class=div的层在class=span的层的上面,因为class=span的这个层的z-index=1

现在的效果图是下面这张图片

追答

你那个class=span是上一个div class=div的子元素;
改成

追问



少了一个吧?

标签没有匹配?

追答

追问

虽然可以了,可以他们现在的关系变了啊?
之前是上级与下级的关系,现在是平级?

追答

就是同辈元素关系才有不同层,父元素和子元素没有办法比较的

追问

好的谢谢

本回答被提问者采纳
第5个回答  2014-07-02 咪啪咪啪咪啪

css菜鸟:为啥当Position为absolute时,z-index就无效了呢?

Rt

参考技术A 应该不会无效,但你要设置两个板块的各自z-index值, 参考技术B z-index属性只有在position属性设置为默认值之外即static才有效,可以试着把z-index值设置足够大或者足够小...比如100,-100.. 参考技术C Position属性
absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative:生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit:规定应该从父元素继承 position 属性的值。
只有在Position为static才会忽略z-index 声明,所以不会出现你说的情况,如果还有疑问请将代码贴出来看一下吧本回答被提问者采纳

以上是关于z-index为啥无效的主要内容,如果未能解决你的问题,请参考以下文章

在css中为啥将z-index设置为-1后,超链接无效了,请问该怎么办?

z-index无效问题的解决方法

CSSdiv层调整z-index属性无效原因分析及解决方法

为啥 z-index 不起作用?

为啥嵌套的 z-index 不起作用[重复]

ActiveX插件的Z-Index属性无效问题解决