If you are talking about the popup underlapping the headings of subsequent boxes then its because each box is set to position:relative and therefore the ones that follow later in the html will always be on top.
Remove the stacking context and then the popup should always be on top.
Otherwise you would need to set a descending z-index on each subsequent box so that the one before is always on top which is obviously a lot of work and not manageable in a dynamic environment.
I’m sorry, but I can’t see anything wrong with the site you linked to. Could you specifically state
-which browser you are having a problem in? (I looked in Firefox on Linux)
-what part of the page you have issue with?
-why do you think it’s a z-index issue??
Most of the time, you don’t bother stating z-index on element. If you mean the little play-looking button, that type of image replacement usually also doesn’t need stated z-indeces, because the abso-po’d span usually natually sits above the other elements. Why does .column have relative positioning and a z-index?
I had the popup working fine in my original post because I copied the code locally to test so I know it works but of course you may have changed something since then. It doesn’t matter if you have solved the issue anyway and I was just remarking in case anybody else had a similar problem
My fix in post #3 would have solved the problem without javascript.
IE<8 assign a z-index of zero to positioned elements when it should in fact be “auto”. Auto basically means no stacking level which allows children to escape the confines of their parent and overlap other elements.
If you remove the relative positioning from the parent then the popup works as expected as long as you didn’t need the relative position on the parent for something else.
Otherwise setting the parent when hovered to have a higher z-index will do the trick for IE7 but IE6 would need some js help.
I finally figured out how to get this working right in IE6 and IE7. I learned a whole lot about z-index in the process.
The problem is that elements that really shouldn’t have a z-index value are assigned one and the popup is below the level in the hierarchy.
Because of this there would be no way to make the pop up show up on top with this layout with css alone.
The fix required dynamically setting all the parent ‘column’ containers with javascript to 1 and setting the current one to 999.
If the parent of an element is positioned and has a z-index applied then ultimately it’s the parent’s z-index that dictates whether one parents child overlaps the child of another parent.
If a parent is z-index 1 and its children are z-index:1000 the children (and the parent) will not overlap another parent or any children where that parent that has a z-index of 2 or higher.
You can’t intermingle children from different parents if the parent is positioned (in ie7 and under).