@trunks175 is correct. Put a dummy behind the header with a white background.
<div style="position:absolute;top:0;left:0;opacity:0.5;background:red;height:300px;width:300px;z-index:3"></div>
<div style="position:absolute;top:0;left:0;background:white;border:1px solid green;height:300px;width:300px;z-index:2"></div>
<div style="position:absolute;top:100px;left:100px;background:blue;height:300px;width:300px;z-index:1"></div>
Here's a fiddle: http://jsfiddle.net/teRcg/1/
I believe this is the only way to achieve what you're trying to since the header is opaque.