Rozwiązanie z 1 dywizją i BEZ przezroczystego obrazu:
Możesz użyć funkcji CSS3 multibackground i umieścić dwa tła: jedno z obrazem, drugie z przezroczystym panelem nad nim (bo myślę, że nie ma sposobu, aby ustawić bezpośrednio krycie obrazu tła):
background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%), url(bg.png) repeat 0 0, url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.7)), color-stop(100%,rgba(255,255,255,0.7))), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: -webkit-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: -o-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: -ms-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;
Nie możesz użyć, rgba(255,255,255,0.5)
ponieważ sam jest akceptowany tylko z tyłu, więc użyłem wygenerowanych gradientów dla każdej przeglądarki w tym przykładzie (dlatego jest tak długi). Ale koncepcja jest następująca:
background: tranparentColor, url("myImage");
http://jsfiddle.net/pBVsD/1/
opacity: ...
we wszystkich przeglądarkach, jest o wiele lepiej!