Do you have a question? Post it now! No Registration Necessary. Now with pictures!
November 1, 2006, 6:11 pm
rate this thread
As many developers may have learned, the "z-index" CSS property can
(generally) only be applied to an element that is positioned; in other
words, an element that has "position: absolute" defined.
What is not explicitly spelled out (perhaps because it's common sense
to some... not me) is that when elements are nested, the inner elements
cannot be z-index'ed above the parent.
<div id="outer" style="position: absolute; top: 10; left: 0;
<div id="inner" style="position: absolute; top: 0; left: 0;
<p>You may think this would be on top...</p>
<div id="biltong" style="position: absolute; top: 10; left: 0;
<p>...but this is actually on top.</p>
In this example, the "inner" div's z-index of 2 only places it above
any other div's you may define within the "outer" div (where the ***
are). It's not placed above the "biltong" div, because the latter
shares the same z-index as the "inner" div's parent.
If you want the contents of the "inner" layer to be on top of
everything else, its parent div "outer" needs to have a higher z-index
than the other layers.
Practical application: drop-down menu's that should appear above other