<style type="text/css">
div#foo {
background: #0000ff;
width: 200px;
height: 200px;
opacity: 0.30;
filter: alpha(opacity = 30);
}
div#foo>div {
color: black;
opacity:1;
filter: alpha(opacity = 100);
}
</style>
<div id="foo">
<div>Lorem</div>
<div>ipsum</div>
<div>dolor</div>
</div>
В приведенном выше примере непрозрачность div#foo
наследуется дочерними элементами, в результате чего текст становится почти нечитаемым. Полагаю, неправильно говорить, что он наследуется, непрозрачность применяется к родительскому div, и дочерние элементы являются его частью, поэтому попытка переопределить его для дочерних элементов не работает, поскольку технически они непрозрачны.
Обычно в таких случаях я просто использую фоновое изображение alpha png, но сегодня мне интересно, есть ли лучший способ сделать фон div полупрозрачным, не затрагивая его содержимое.