W3C home > Mailing lists > Public > www-style@w3.org > January 2008

Re: [CSS21] stack level definitions in 9.9.1

From: Ingo Chao <i4chao@googlemail.com>
Date: Thu, 3 Jan 2008 08:26:15 +0100
Message-ID: <879e9bc50801022326n3e878a6bud87cee2836ead0bd@mail.gmail.com>
To: fantasai <fantasai.lists@inkedblade.net>
Cc: www-style@w3.org

2008/1/3, fantasai wrote:
> Ingo Chao wrote:
> > There are two definitions of the term "stack level" in 9.9.1
> >
> > A: "This integer is the stack level of the generated box in the
> > current stacking context"
> >
> > B: "Each box has an integer stack level, which is its position on the
> > z-axis relative to other boxes in the same stacking context."
> >
> > This coexistance continues in the overview of layers "Each stacking
> > context consists of the following stacking levels" [1.-7.] and
> > vanishes in Appendix E.
> >
> > Do the terms "stack level" in A and "stack level" in B have the same
> > meaning?
>
> I think they do because the spec says this: "Boxes with the same stack
> level in a stacking context are stacked back-to-front according to
> document tree order."
>
> Is there something that doesn't make sense if you interpret them as
> meaning the same thing?
>
> ~fantasai

In Appendix E, there is not much room for a "stacking level" of an
element, because an element is deconstructed into its background and
inline box. Any defined integer "stacking level" that is set by
z-index could come into play for E2.3., E2.8., and E2.9. only, but not
for the other steps in the painting order. Therefore, the term
"stacking level" could mean the z-order of the positioned elements,
and is not clearly defined in E2.1., E2.4.-E2.7., and E2.10. It is not
easy to explain E2.6.+E2.7. when thinking in "levels."

z-index rules the painting order of positioned elements and lets them
establish new atomic stacking contexts. Appendix E2.1.-2.10. is a
procedural description of positions in the painting order.

Because the z-index value integer is defined in 9.9.1 as: "This
integer *is* the stack level of the generated box in the current
stacking context", the term "stack level" cannot be easily seen
without being linked to z-index, but z-index does apply to positioned
elements only, and this conflicts with 9.9.1: " *Each* box has an
integer stack level, which is its position on the z-axis relative to
other boxes in the same stacking context."

9.9.1 says "Each stacking context consists of the following stacking
levels (from back to front): ... [1.-7.]", but you cannot map this
1.-7. with Appendix E2.1-2.10. Following the link to the more thorough
explanation of the stacking order in Appendix E, there is no mention
of "stack level" or "stacking level" anymore. This does not work for
me.

To me, there doesn't seem to be a need for a static term "stacking
level", since it doesn't help me in understanding the CSS-concept of
"stacking"; it rules the interaction of positioned elements only, but
that doesn't add anything to the meaning of the term "z-index". For
any element and its deconstruction, the procedural term "positions in
the painting order" may be more appropriate, in the context of
Appendix E.

But this may have its origin in my German language, since whenever
"level"/"Ebene" is added to any complex term, suddenly it becomes
unclear. Sorry if I am misinterpreting 9.9.1 in conjunction with
Appendix E.

Thanks

Ingo

-- 
Ingo Chao
http://www.satzansatz.de/
Received on Thursday, 3 January 2008 07:26:21 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:57 GMT