Die Deckkraft des untergeordneten Elements wird vom übergeordneten Element geerbt.
Wir können jedoch die CSS-Positionseigenschaft verwenden, um unsere Leistung zu erzielen.
Das Textcontainer-Div kann außerhalb des übergeordneten Div platziert werden, wobei die absolute Positionierung den gewünschten Effekt projiziert.
Ideale Voraussetzung ------------------ >>>>>>>>>>>>
HTML
<div class="container">
<div class="bar">
<div class="text">The text opacity is inherited from the parent div </div>
</div>
</div>
CSS
.container{
position:relative;
}
.bar{
opacity:0.2;
background-color:#000;
z-index:3;
position:absolute;
top:0;
left:0;
}
.text{
color:#fff;
}
Ausgabe:--
Der Text ist nicht sichtbar, da die Deckkraft vom übergeordneten div übernommen wurde.
Lösung ------------------- >>>>>>
HTML
<div class="container">
<div class="text">Opacity is not inherited from parent div "bar"</div>
<div class="bar"></div>
</div>
CSS
.container{
position:relative;
}
.bar{
opacity:0.2;
background-color:#000;
z-index:3;
position:absolute;
top:0;
left:0;
}
.text{
color:#fff;
z-index:3;
position:absolute;
top:0;
left:0;
}
Ausgabe :
Der Text ist mit derselben Farbe wie der Hintergrund sichtbar, da sich das Div nicht im transparenten Div befindet
opacity
ist ein bisschen wiedisplay: none
in diesem Sinne.