3
我希望flex項目(.image-container
)的絕對定位子元素(.tag-preview-container
)與DOM中的其他元素(例如標頭.header
)重疊。我將絕對定位元素的z-index
設置爲2(即使1也應該有效)。但是,該元素不會與Flex容器外部的任何DOM元素重疊(.tags-panel
)。事實上,它完全被容器切斷。我沒有設置DOM中任何其他元素的z-index,所以根應該是堆棧上下文。flex項目的子元素的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;
}
}
你說得對。我完全忘記了那個屬性。這是完全合理的。謝謝! – quantdaddy
沒問題,歡呼:) –