W3C home > Mailing lists > Public > www-style@w3.org > June 2010

RE: [CSS21] stack level definitions in 9.9.1

From: Sylvain Galineau <sylvaing@microsoft.com>
Date: Sat, 19 Jun 2010 00:56:44 +0000
To: Anton Prowse <prowse@moonhenge.net>, "www-style@w3.org" <www-style@w3.org>
Message-ID: <045A765940533D4CA4933A4A7E32597E214C1236@TK5EX14MBXC113.redmond.corp.microsoft.com>
Following up on CSS21 issue-60 [1]. Note that while this constitutes
my final proposal for the purpose of resolving the issue in CSS2.1 this
is not in any way meant to suggest the feedback you, Justin and others 
sent on this topic that is not addressed here was deemed incorrect or 
irrelevant. It should be addressed in future CSS revisions.

The set of proposed changes is somewhat larger than I originally intended
but you have convinced me of their coherence. I believe them to be sufficient
for this revision of the spec. 

The proposed edits are as follows; they are meant to be accepted or rejected
as a whole:

1. In section 9.9.1 [2], replace:
      # For a positioned box, the 'z-index' property specifies:
      #   1. The stack level of the box in the current stacking context.
      #   2. Whether the box establishes a local stacking context.
      #
      # Values have the following meanings:
      #    <integer>
      #       This integer is the stack level of the generated box in
      #       the current stacking context. The box also establishes a
      #       local stacking context in which its stack level is '0'.
      #    auto
      #       The stack level of the generated box in the current
      #       stacking context is the same as its parent's box. The box
      #       does not establish a new local stacking context.
   with
      # For a positioned box, the 'z-index' property specifies:
      #   1. The stack level of the box in the current stacking context.
      #   2. Whether the box establishes a stacking context.
      #
      # Values have the following meanings:
      #    <integer>
      #       This integer is the stack level of the generated box in
      #       the current stacking context. The box also establishes a
      #       new stacking context.
      #    auto
      #       The stack level of the generated box in the current
      #       stacking context is '0'. The box does not establish a new
      #       stacking context unless it is the root element.

2. In section 9.9.1 [2], replace:
      # Each box in a given stacking context has an integer stack
      # level, which is its position on the z-axis relative to other
      # boxes in the same stacking context.
   with
      # Each positioned box in a given stacking context has an integer
      # stack level, which is its position on the z-axis relative to
      # other stack levels within the same stacking context.

3. In section 9.9.1 [2], replace:
       # Each stacking context consists of the following stacking levels
       # (from back to front):
             # 1.the background and borders of the element forming the
             #   stacking context.
             # 2.the stacking contexts of descendants with negative stack
             #   levels.
             # 3.a stacking level containing in-flow non-inline-level
             #   non-positioned descendants.
             # 4.a stacking level for non-positioned floats and their
             #   contents.
             # 5.a stacking level for in-flow inline-level non-positioned
             #   descendants.
             # 6.a stacking level for positioned descendants with
             #   'z-index: auto', and any descendant stacking contexts
             #   with 'z-index: 0'.
             # 7.the stacking contexts of descendants with positive stack
             #   levels.
       # For a more thorough explanation of the stacking order, please
       # see Appendix E.
   with
       # Within each stacking context, the following layers are painted
       # in back-to-front order:
             # 1.the background and borders of the element forming the
             #   stacking context.
             # 2.the stacking contexts of descendants with negative stack
             #   levels (most negative first).
             # 3.in-flow non-inline-level non-positioned descendants.
             # 4.non-positioned floats.
             # 5.in-flow inline-level non-positioned descendants, including
             #   inline tables and inline blocks.
             # 6.positioned descendants and stacking contexts with stack 
             #   level '0'.
             # 7.the stacking contexts of descendants with positive stack
             #   levels (least positive first).
       # This painting order is applied recursively to each stacking
       # context. This description of stacking context painting order
       # constitutes an overview of the detailed normative definition in
       # Appendix E.

4. In section 9.9.1 [2], replace:
      # The contents of inline blocks and inline tables are stacked as if  
      # they generated new stacking contexts, except that any positioned 
      # elements and any elements that actually create new stacking contexts 
      # take part in the parent stacking context. They are then painted atomically 
      # in the inline stacking level.    
   with
      # The contents of positioned elements with 'z-index: auto',
      # non-positioned floats, inline blocks and inline tables are
      # stacked as if they generated new stacking contexts, except that
      # any positioned elements and any elements that actually create
      # new stacking contexts take part in the parent stacking context.

5. In Appendix E, E.2 [3], replace:
      # The stacking context background and most negative positioned stacking 
      # contexts are at the bottom of the stack, while the most positive positioned 
      # stacking contexts are at the top of the stack.
  with:
      # The stacking context's background is at the bottom of the stack, immediately 
      # below its descendant stacking context with the most negative z-index. The 
      # descendant stacking context with the highest positive z-index is at the top of 
      # the stack. The stack level of all the other elements in the stacking context is 
      # then resolved at rendering time using the painting order below.
	
6. In Appendix E, E.2 [3], replace:
      # The stacking order for an element generating a stacking context... 
   with:
      # The painting order for the descendants of an element generating a stacking context...




[1] http://wiki.csswg.org/spec/css2.1#issue-60
[2] http://www.w3.org/TR/CSS21/visuren.html#z-index
[3] http://www.w3.org/TR/CSS21/zindex.html
Received on Saturday, 19 June 2010 00:57:29 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:28 GMT