Re: Q: z-index and the body element


pardon my use of implementation specific terms.

you are correct about the HTML assumption.  but my point remains valid, even
if we look at the hierarchy of the document/box structure regardless of

currently, in my implementation, the following implicit rule is dictated by
the hierarchical structure of the boxes generated by parsing a hierarchical
document structure (XML, HTML, ...)

RULE: a child box cannot circumvent the z-order of its parent.  it can place
itself behind or in front of any of its siblings, but it cannot place itself
behind it's parent box.  it can place itself in such a way that it is first
child rendered before any other child, ....

i see this rule implied by the CSS2 spec as well, in the section where there
is talk of z-order contexts and so on.

as i see it, z-order values for a CHILD boxes are valid within the parent
z-order context.  this can be illustrated with absolute positioned boxes
containing absolute positioned boxes where a child absolute boxes have a
z-ordering that cannot violate the z-ordering of the parent absolute boxes.

again, let me say: if i have misunderstood something in the spec, let me
know, for if the above rule is invalid, then it seems to me the notion of
hierarchy is not preserved for non-fixed boxes.


-- ranjit

------Original Message------
From: "gordon" <>
To: <>
Sent: August 30, 1999 2:35:02 PM GMT
Subject: Re: Re: Q: z-index and the body element

Since the sheet/idea being delt with here is applied to HTML, shouldn't the
rules take it [HTML] into account?  This may sound simplistic, but it's my
understanding that the only sibling for a body element is the head element.
There are more than enough legacy problems with HTML rendering; CSS
shouldn't be used to create yet another.


----- Original Message -----
From: Ranjit Singhe <>
To: <>
Sent: Monday, August 30, 1999 6:36 AM
Subject: RE: Re: Q: z-index and the body element

> hi,
> (Tantek: i do agree with you that the spec says z-index is only for
> *positioned* elements, but as Ian says, i don't see why it cannot be
> for static boxes which overlap due to negative margins.)
> look at the following markup:
> ------
> <body style="z-index=0; background-color=green;">
> <p style="z-index=-1; position: relative; top: 50; left: 20">
> hello!!
> </p>
> <p>
> world!!
> </p>
> </body>
> -------
> P is a child of BODY, and according the CSS2 spec (my reading, anyway :)
> z-indexing of an element is relative only to sibling elements, and not to
> parent elements.  this has to do with the creation of a z-index contexts.
> so the box for 'hello!!' would show up behind the box for 'world!!' but
> behind the box for BODY because BODY contains both P element boxes.
> !!! please correct if i'm wrong on this, because if i am, i have to redo
> renderer so that it does not respect hierarchical boundaries, which is NOT
> happy situation.  !!!
> the original intent of this thread (the question) can be attained by
> the 'z-index=-1' box a 'position: fixed' box (though the positioning
> properties would be complex.)  this would work because fixed boxes break
> of the hierarchy where they are found and levitate to the viewport box,
> essentially becoming a sibling to the BODY box.
> -- ranjit

FREE Email for ALL! Sign up at

Received on Monday, 30 August 1999 10:57:15 UTC