qua*_*ddy 4 html css z-index css3 flexbox
我想要一个.tag-preview-containerflex item(.image-container)的绝对定位子元素()来重叠DOM中的其他元素(例如标题.header).我z-index将绝对定位元素设置为2(即使1应该工作).但是,该元素不会与flex容器(.tags-panel)外部的任何DOM元素重叠.事实上,它完全被容器切断了.我没有设置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>
Run Code Online (Sandbox Code Playgroud)
这是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;
}
}
Run Code Online (Sandbox Code Playgroud)
在z-index受影响的overflow财产.tags-panel,除overflow-y: auto;将解决这个问题.这是更新的小提琴https://jsfiddle.net/yc5xanax/
overflow-y: auto;将自动包装/隐藏.tags-panel容器外的内容.