Relative, z-index, and IE
I ran into a really annoying IE6 bug today: the z-index of a positioned
element is dependent upon the z-index of parent elements.
The Problem
Let’s say we have several relative positioned containers, and one of them has
a tall absolute positioned element inside of it, assigned a higher z-index.
Firefox yields the expected behavior, with the tall element overlapping the lower container:

IE6, however, does the opposite:

HTML:
<div class="outer" id="a">
<div class="inner">a</div>
</div>
<div class="outer" id="b">
<div class="inner">b</div>
</div>CSS:
.outer {
position: relative;
}
.outer#a {
height: 2em;
}
.outer#a .inner {
position: absolute;
height: 6em;
width: 2em;
z-index: 100;
}
.outer#b {
height: 2em;
}The Solution
The relative z-index causes the bug. Since outer#a and outer#b are on the
same z-index, B draws on top. If we also give outer#a an explicit z-index,
it fixes it:
.outer#a {
height: 2em;
z-index: 1;
}I’m not sure if this still applies in IE7.