有没有办法在使用绝对位置时覆盖父元素的z-index继承.我希望2222 div位于0000 div之上:
<div style="background-color:green; z-index:10; position:relative">
OOOO
</div>
<div style="background-color:yellow; z-index:5; position:relative">
1111
<div style="position:absolute; background-color:red;
z-index:15; top:-8px; left:20px">
2222
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我无法更改0000或1111 div的z-index,我试图将我的2222元素相对于1111元素定位.
我目前正在使用Leaflet和Mapbox来创建自定义地图.一直都很好,直到我开始研究弹出窗口.
我的情况:我有一个将使用的自定义导航/控制面板,但它需要在任何打开的弹出窗口后面(它目前不是).
我准备了一个JSFiddle和这个截图
我的部分CSS是
#map-nav {
position: absolute;
left: 10px;
top: 10px;
z-index: 2;
}
.leaflet-popup-pane, .leaflet-popup {
z-index: 1000 !important;
}
Run Code Online (Sandbox Code Playgroud)
默认的传单类有z-index7个(我想),我只是把它写成100%肯定.当检查在浏览器的代码(FF /铬),我看到的z索引被正确设置,并在没有其他元件.leaflet-popup具有任何z-index集合.
我已经读到负面z-index可以解决这个问题,但是当我使用多个元素时,我真的非常喜欢一个不那么"hacky"的解决方案 - 如果有的话.(欢迎JavaScript解决方案,因此标签)
我可以从代码检查看到,宣传单设置一些属性.leaflet-popup,其位置而言是:transform: translate3d(..),bottom和left.
任何帮助表示赞赏.
编辑:
我可以放在#map-nav里面#map-content,它仍然不会工作小提琴.然而,当我试图模仿这个而不是地图的东西,它确实有效.
我的问题与这个问题有关:
设定的问题的答案overflow: visible仅适用于一个孩子的一个父母.但是,我有这些元素的行; 父母的行,我需要孩子在父母身上显示.我可以让孩子显示原来的父母,但我不能让孩子显示父母的兄弟姐妹.为了让您了解我在说什么,这是一个截图:

我想要的是选项弹出窗口,隐藏在接下来的两行后面的元素,显示在这两行上,就像它显示在它的直接父级上一样.我一直在搞乱它,并没有想出来,所以希望这里的人能够提供帮助.
这是基本结构:
.row,
.selector {
position: relative;
}
.label,
.selector {
display: inline-block;
}
.selector {
overflow: visible;
}
.selector-inner {
display: block;
}
.selector-arrow {
float: right;
width: 21px;
height: 21px;
background: url(arrow.png) no-repeat center center;
}
.selector-caption {
display: inline-block;
}
.options-popup {
position: absolute;
z-index: 100;
top: 0px;
right: 0px;
}
.options-item {
/* only for fonts and sizes */
}Run Code Online (Sandbox Code Playgroud)
<div class="row">
<div class="label">Color Scheme:</div>
<div class="selector">
<div class="selector-inner"> …Run Code Online (Sandbox Code Playgroud)