html – 覆盖/悬停Flexbox容器div中的div

我正在尝试覆盖一个可以在flexBox容器中浮动的div.

标头是一个flexBox容器,有三个flexBox div在容器中工作.覆盖我想覆盖其他三个div但仍然受限于.header flexBox容器div.

我已经在stackoverflow和其他地方尝试了多种方法,但是当结合使用flexBox时,怎么没有看到解决覆盖或分层的解决方案.

谢谢你的任何建议!

链接到以下的jsfiddleLink

HTML:

<div class="header">
    <div class="headerLeft">Left</div>
    <div class="headerMiddle">Middle</div>
    <div class="headerRight">Right</div>
    <div class="overlay">Overlay</div>
</div>

CSS:

.header {
    border: 3px solid orange;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    z-index: 0;
}

.headerLeft {
    border: 2px solid chartreuse;
    -webkit-flex: 1;
    flex: 1;
    z-index: 1;
}
.headerMiddle {
    border: 2px solid darkorchid;
    -webkit-flex: 1;
    flex: 1;
    z-index: 1;
}
.headerRight {
    border: 2px solid darkorange;
    -webkit-flex: 1;
    flex: 1;
    z-index: 1;
}

.overlay {
    border: 2px solid green;
    z-index: 10;
    background: rgba(0,0.3);
}

解决方法

查看所有已注释掉的代码,您就可以在flex容器上找到相对定位的正确轨道.你只需要绝对定位你的叠加元素.

http://jsfiddle.net/UHECE/4/

添加/取消注释这些样式:

.header {
    position: relative;
}

.overlay {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
}

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些