【问题标题】:Overlay / hover a div in flexbox container div在 flexbox 容器 div 中覆盖/悬停一个 div
【发布时间】:2013-04-13 03:30:12
【问题描述】:

我正在尝试覆盖一个会在 flexbox 容器中浮动的 div。

header 是一个 flexbox 容器,容器中有 3 个 flexbox div。覆盖我想覆盖其他三个 div 但仍被限制在 .header flexbox 容器 div 内。

我在 stackoverflow 和其他地方尝试了多种方法,但是在与 flexbox 结合使用时如何解决覆盖或分层的解决方案。

感谢您的任何建议!

链接到以下的jsfiddle:Link

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,0,0.3);
}

【问题讨论】:

    标签: html css overlay flexbox


    【解决方案1】:

    查看您所有注释掉的代码,您在 flex 容器上的相对定位方面处于正确的轨道上。您只需要绝对定位您的叠加元素。

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

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

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

    【讨论】:

    • 很棒的西玛侬,这正是我想要的!令人难以置信的是,一个人可以如此接近,却又如此遥远。感谢您的指导和您的时间!
    • cimmanon,如果父容器是一个弹性盒子,是否可以适应它? stackoverflow.com/q/50992090/1971447
    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2018-01-20
    • 2011-11-23
    相关资源
    最近更新 更多