1. Z-index only works on "realtive" or "absolute" position.
2. Higher z-index layer usually on the top of lower one, but in IE7, it's not that obviously. To fix IE7's z-index problem, you need to make sure, set z-index for the same stacking layers. (See example below)
<div id="p1" style="position:relative"> <div id="c1" style="position:relative; z-index:10"> I want to be on the top!!! </div> </div> <div id="p2" style="position:relative; z-index:5"> <div id="c2" style="position:relative; z-index:5"> I can be on the bottom!!! </div> </div>In order to make the above example works in IE7, you have to set 'p1' to have z-index higher than 'p2'.
3. Don't set parent layer's overflow is hidden, that will children cannot overlay.
Good luck