HTML
1<header class="showcase"> 2 <div class="container showcase-content"> 3 <p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p> 4 </div> 5</header>
CSS
1*{ 2 padding: 0; 3 margin: 0; 4 box-sizing: border-box; 5} 6 7.showcase{ 8 position: absolute; 9 top:0; 10 left:0; 11 height: 100vh; 12 width: 100vw; 13 background: green; 14} 15 16.showcase-content{ 17 color: #fff; 18 height: 100%; 19 width: 100%; 20 display: flex; 21 flex-direction: column; 22 justify-content: center; 23 text-align: center; 24 position: relative; 25 z-index:1; 26} 27 28.showcase-content::before{ 29 content: ''; 30 position: absolute; 31 top: 0; 32 left: 0; 33 width: 100vw; 34 height: 100vh; 35 background: rgba(24, 39, 51 , 0.8); 36 z-index: 0; 37}
上記のz-indexで「showcase-content」の後ろに「before」要素を背景として配置するとき、
CSS
1.showcase-content{ 2 z-index:1; 3} 4 5.showcase-content::before{ 6 z-index: 0; 7}
このように指定しても「before」要素が背景として来ません。
しかし、
CSS
1.showcase-content{ 2 z-index:0; 3} 4 5.showcase-content::before{ 6 z-index: -1; 7}
このように、負の値を指定するとちゃんと背景に配置することができます。
重なりの順番としてはどちらも同じだと思うのですがなぜ負の値を指定する必要があるのでしょうか。
もっと別の数字は試してみたのでしょうか。