あなたは興味深い問題を抱えています - そのようなものには常に興味深い解決策があります。私は CSS の大ファンであり、いくつかの CSS プロパティを使用して必要な動作を模倣しようとしました: http://jsfiddle.net/Tax4w/
ただし、これが必要なものではない場合は、必要に応じていつでも調整できます。
注: 最初はテキストも透明に見えますが、注意して見るとそうではありません
HTML:
<div class="container">
<div class="inner-container">
<p>I am a big cat</p>
<p>I am a big cat</p>
<p>I am a big cat</p>
<p>I am a big cat</p>
</div>
</div>
CSS:
.container{
width:500px;
height:500px;
background-color:#eeeeee;
position:relative;
}
.inner-container:after{
content:"";
background: url('http://placekitten.com/500/500') left top no-repeat;
width:500px;
height:500px;
opacity:0.5;
position:absolute;
left:0px;
top:0px;
}
.inner-container{
width:500px;
height:500px;
}
p{
font-size:20px;
}