以下の順序付けられていないリストの箇条書きは灰色で表示されますが、それらを白にします。位置またはZ-インデックス属性を削除するとテキストの色が変わります
* {
z-index: 1;
}
body {
margin: 0;
}
#product {
height: 35em;
background: #000;
color: #fff;
}
#product ul {
padding: 0;
}
#product ul li {
height: 35em;
width: 25%;
float: left;
background-color: red;
position: relative;
}
#product p {
position: relative;
top: 40%;
z-index: 15;
}
#product h1 {
text-align: center;
}
#pos {
position: absolute;
z-index: 3;
background-color: rgba(0, 0, 0, 1);
}
#ovrl {
background: rgba(0, 0, 0, .5);
height: 35em;
width: 100%;
position: absolute;
z-index: 2;
}
<div id="product">
<div id="pos">
<h1>Why Choose Us</h1>
<hr>
</div>
<ul>
<li>
<p>Customized
<br>Software</p>
</li>
<li>
<p>Workshop</p>
</li>
<li>
<p>Digital
<br>Advertising</p>
</li>
<li>
<p>E-learning</p>
</li>
</ul>
<div id="ovrl"></div>
</div>
Iは#product ul li
セレクタからposition: relative
を削除すると、テキストが完全に白色であるが、それはコードテキストで存在だときに白ではありません。
さらに、z-index: 1
を*
セレクタから削除すると、別の問題が発生し、正常に動作します。
しかし、私はなぜそれを理解できません。私は誰も私の問題を解決してください助けが必要です。
こんにちは、スタックオーバーフローを歓迎します。あなたの問題を示す[最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)を作成することをお勧めします。あなたの質問から無関係な詳細を削除する時間がかかる場合、あなたは有益な回答を得る可能性が高くなります。あなたの質問を書き直す過程で、自分で回答を発見する可能性が非常に高いです。 –
一見すると、すべてのものを同じz-インデックス(これはあなたの '*'セレクタがやっているもの)に設定すると、レンダリングされた順にスタックされます。つまり、実際にテキストが白ですが、半透明の黒色の '#ovrl' divはテキストの上にあります(灰色で表示されます)。 –