Непрозрачность дочернего элемента наследуется от родительского элемента.
Но мы можем использовать свойство css position для достижения наших целей.
Текстовый контейнерный div может быть помещен вне родительского div, но с абсолютным позиционированием, проецирующим желаемый эффект.
Идеальное требование ------------------ >>>>>>>>>>>>
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;
}
Вывод:--
Текст не виден, потому что наследует непрозрачность от родительского div.
Решение ------------------- >>>>>>
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;
}
Вывод :
Текст виден с тем же цветом, что и фон, потому что div не находится в прозрачном div
opacity
немного похожеdisplay: none
в этом смысле.