La opacidad del elemento hijo se hereda del elemento padre.
Pero podemos usar la propiedad de posición css para lograr nuestro logro.
El contenedor de texto div se puede colocar fuera del padre primario pero con un posicionamiento absoluto que proyecta el efecto deseado.
Requisito ideal ------------------ >>>>>>>>>>>>
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;
}
Salida:--
el texto no es visible porque hereda la opacidad del div padre.
Solución ------------------- >>>>>>
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;
}
Salida:
el texto es visible con el mismo color que el fondo porque el div no está en el div transparente
opacity
es un poco comodisplay: none
en este sentido.