在div下我有一個問題:DIV具有大z索引是具有較小的z-index
元素重疊的元素,因爲它具有較高的z索引(10比5)。元素具有子元素#子塊-1 &#子塊-2和#子塊-1具有子文本#text1,其中z-index = 20。但是具有z-index = 20的#text1仍處於z-index = 10。爲什麼?
告訴我,我該如何解決這個問題?
必須有一個預定義的z-index(數字,不是'auto',並且小於z-index,例如5對10)。
我的例子: https://jsfiddle.net/nynsjv3L/1/
附: 以上示例在jsfiddle中無法正確顯示 - 元素的位置(#子塊-1 &#子塊-2)不起作用。
body {
background: #00ff00;
}
.screen {
position: absolute;
left: 0px;
top: 0px;
width: 100vw;
height: 100vh;
background: #ffffff;
opacity: 0.75;
z-index: 10;
}
#main-block {
position: absolute;
left: 500px;
top: 200px;
width: 700px;
height: 400px;
border: 2px solid #bb0000;
background: #ff0000;
z-index: 5;
}
.sub-block {
position: absolute;
width: 300px;
height: 150px;
background: #ffffff;
border: 4px solid #000000;
}
#sub-block-1 {
left: 100;
top: 100;
z-index: auto;
}
#sub-block-2 {
left: 275;
top: 175;
z-index: 11;
}
#text1 {
position: absolute;
left: 65px;
top: 55px;
color: #000000;
background: #ffff00;
font-size: 30px;
font-weight: 700;
z-index: 20;
}
#text2 {
position: absolute;
left: 65px;
top: 55px;
color: #00bbbb;
font-size: 30px;
font-weight: 700;
}
<div id='main-block'>
<div class='sub-block' id='sub-block-1'>
<div id='text1'>TEST TEXT</div>
</div>
<div class='sub-block' id='sub-block-2'>
<div id='text2'>NEW TEXT</div>
</div>
</div>
<div class='screen'></div>
** z-index **相對於https://developer.mozilla。org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context – DaniP
z-index適用於同一父級直接相同級別上的所有元素 - 因此在您的情況下,主塊的z-索引比屏幕將出現在主塊和所有子塊之上(因爲主塊子z-index不會計入屏幕z-index) – Pete
首先閱讀[沒有人告訴你關於Z-Index](https: //philipwalton.com/articles/what-no-one-told-you-about-z-index/)瞭解問題所在。 – CBroe