How to get a parent element to appear above child
我有两个嵌套的CSS元素。我需要使父级位于子元素的顶部,即z轴上方。仅设置z-index是不够的。
我不能在子级上设置负Z索引,而是将其设置为实际页面上页面容器下方。这是唯一的方法吗?
http://jsbin.com/ovafo/edit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | .parent { position: relative; width: 750px; height: 7150px; background: red; border: solid 1px #000; z-index: 1; } .child { position: absolute; background-color: blue; z-index: 0; color: white; top: 0; } .wrapper { position: relative; background: green; z-index: 10; } |
1 2 3 | parent parent child child child |
为子项设置一个负数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | .parent { position: relative; width: 350px; height: 150px; background: red; border: solid 1px #000; } .parent2 { position: relative; width: 350px; height: 40px; background: red; border: solid 1px #000; } .child { position: relative; background-color: blue; height: 200px; } .wrapper { position: relative; background: green; height: 350px; } |
1 2 3 4 | parent 1 parent 1 child child child parent 2 parent 2 |
https://jsfiddle.net/uov5h84f/
幸运的是,存在一个解决方案。您必须为父级添加一个package器,并将该package器的z-index更改为例如10,并将子级的z-index设置为-1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | .parent { position: relative; width: 750px; height: 7150px; background: red; border: solid 1px #000; z-index: initial; } .child { position: relative; background-color: blue; z-index: -1; color: white; } .wrapper { position: relative; background: green; z-index: 10; } |
1 2 | parent parent child child child |
其中一些答案确实有效,但是设置
HTML:
1 | ... |
CSS:
1 2 3 4 5 6 7 8 9 | .wrapper { position: relative; z-index: 0; } .child { position: relative; z-index: -1; } |
我使用这种技术来实现图像链接的边框悬停效果。这里有更多代码,但是它使用上面的概念在图像顶部显示边框。
http://jsfiddle.net/g7nP5/
破解。基本上,发生的事情是,当您将z-index设置为负数时,它实际上会忽略父元素(无论是否定位),并位于下一个定位的元素(在您的情况下是您的主容器)的后面。因此,您必须将父元素放在另一个已定位的div中,您的子div将位于该元素的后面。
解决这个问题对我来说是个救命稻草,因为我的代码无法正常工作,特别是无法定位我的父元素。
我发现所有这些对于实现此处指示的效果非常有用:仅使用CSS,将div悬停在
上时显示div
由于您的div是
1 |
,红色框覆盖了蓝色框,我想这就是您要查找的内容。
您需要同时在父级和子级上使用
样式:
1 2 3 4 5 6 7 8 | .parent{ overflow:hidden; width:100px; } .child{ width:200px; } |
身体:
1 |