UPDATE!!!
Apologies for the confusion, it turns out the issue was with the #container DIV missing "float:left;". Please check the HTML rendering in Firefox and IE7 to see the impact!
I am facing difficulty getting a nested DIV to appear above another nested DIV using z-index. Despite setting a higher z-index value for the lower nested DIV, the overlay keeps covering it. Is this a limitation in IE7?
While Firefox displays the blue #details above the green #overlay, IE7 places the blue #details below the green #overlay.
UPDATE2: After some troubleshooting, adding "z-index:99;" to the #container style causes the .item divs to show up (though incorrectly in both Firefox and IE). These elements should be positioned under the overlay. Interestingly, removing the #container z-index helps display them correctly in Firefox but not in IE...
<html>
<body>
<style type="text/css">
.item {
float:left;width:75px;height:75px;background-color:red;
}
</style>
<div id="main" style="position:relative;">
<!-- This div should cover everything except #details -->
<div id="overlay" style="position:absolute;
top:0px;
left:0px;
width:500px;
height:500px;
z-index:1;
background-color:green;"></div>
<div id="container" style="position:relative;float:left;">
<!-- These divs are intended to remain hidden under the overlay -->
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<!-- This div should be on top of the overlay -->
<div id="details" style="position:absolute;
width:200px;
height:200px;
background-color:blue;
left:400px;
z-index:99;"></div>
</div>
</div>
</body>
</html>