Re: [CSS21] stack level definitions in 9.9.1

Justin Poirier wrote:
> Anton Prowse wrote:
>> Sylvain Galineau wrote:
>>>  Your proposal regarding auto and '0' is not included here. I found it
>>> confusing as it could be read as conflicting with the description of layer 8
>>> in Appendix E which does make a difference between auto/0 positioned
>>> descendants.
>>>
>> Indeed, there /is/ a difference.  But that difference is not related to
>> stack levels and painting layers, and hence there is no conflict.  (All
>> such elements all lie on the same painting layer [#6 in the list] of
>> whatever transpires to be their closest ancestor stacking context.)  The
>> difference is in how the closest ancestor stacking context is determined.
>>
> Sylvain, to complement what Anton is saying by rephrasing it: the difference
> between auto and 0 descendants that you note in layer 8 of E regards how
> they paint (or don't paint) THEIR descendants, and not which comes first
> between the two in the current stacking context (ie. stack level).

Exactly.  I should have been more careful in the last sentence of my
paragraph quoted here (taken from [1]), especially now that I see it
quoted without the explanatory paragraph which followed.  Apologies for
any confusion.  I guess I should have worded the sentence as: "The
difference is in how the responsibility for painting descendants is
determined.".

Specifically, I'm not talking which ancestor paints positioned elements,
since this is determined in exactly the same way for all positioned
elements (namely, it's the closest ancestor stacking context, ie. the
closest ancestor positioned element with integer z-index.)  Instead, I'm
pointing out that positioned elements with z-index:0 form stacking
contexts whereas positioned, z-index:auto elements merely have stacking
context-like behaviour; only the former take responsibility for painting
positioned descendants.


Sylvain: the ongoing discussion of this issue has helped me understand
why you might have foreseen possible confusion in defining positioned,
z-index:auto elements as having stack level '0'.  By rejecting my full
amendments to the paragraph in 9.9.1 that follows the list of painting
layers and which states which elements form stacking context-like
elements, the adoption of the "stack level '0'" proposal would mean that
9.9.1 fails to make much distinction between z-index:auto and z-index:0
positioned elements.  I would agree that this wouldn't be desirable.

However, I'm not submitting these two proposals independently, of
course.  As I stated in [1], there is a strong argument for accepting my
amendments to the "stacking context-like" paragraph, which *would*
highlight the difference between these two types of positioned element,
and then the potential for confusion arising from "stack level '0'"
proposal is removed.  Thus the former proposal motivates the latter
proposal, but it would be strange to implement the latter proposal
without the former (since that would merely perpetuate the lack of
distinction already present in 9.9.1.).

I hope this helps; as I've already said, I strongly hope you'll
implement the former proposal, and then I think the latter proposal
follows naturally.

[1] http://lists.w3.org/Archives/Public/www-style/2010May/0414.html

Cheers,
Anton Prowse
http://dev.moonhenge.net

Received on Monday, 24 May 2010 08:56:08 UTC