flex项的子元素的z-index

时间:2017-08-21 04:54:17

标签: html css css3 flexbox z-index

我想要一个flex项(.tag-preview-container)的绝对定位子元素(.image-container)来重叠DOM中的其他元素(例如标题.header)。我将绝对定位元素的z-index设置为2(即使1应该起作用)。但是,元素不会与Flex容器外的任何DOM元素(.tags-panel)重叠。事实上,它完全被容器切断了。我没有设置DOM中任何其他元素的z-index,因此根应该是堆叠上下文。

<div class="panel-container">
  <div class="header">

  </div>
  <div class="tags-panel">
    <div class="image-container">
      <div class="tag-preview-container">
      </div>
    </div>
    <div class="image-container">

    </div>
    <div class="image-container">

    </div>
    <div class="image-container">

    </div>
  </div>
</div>

这是scss代码,这里是JSFiddle

.panel-container {
    width: 400px;
  height: 400px;
  position: relative;
  margin: auto;
  .header {
    width: 100%;
    height: 40px;
    background-color: green;
  }
  .tags-panel {
    position: absolute;
    background-color: red;
    top: 40px;
    bottom: 0px;
    width: 100%;
    overflow-y: auto;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
  }
}

.image-container {
  flex: 0 0 33%;
  box-sizing: border-box;
  border: 1px solid black;
  margin-top: 5px;
  margin-left: 1px;
  height: 80px;
  background-color: yellow;
  position: relative;
  .tag-preview-container {
    background-color: black;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 200px;
    height: 200px;
    z-index: 2;
    opacity: 0.5;
  }
}

1 个答案:

答案 0 :(得分:6)

public class Setup extends Activity { z-indexoverflow属性的影响,删除.tags-panel将解决问题。这是更新的小提琴https://jsfiddle.net/yc5xanax/

overflow-y: auto;将自动包装/隐藏overflow-y: auto;容器外的内容。