Re: [CSS21] stack level definitions in 9.9.1

Peter Moulder wrote:
> On Thu, Jul 08, 2010 at 02:37:22AM +0200, Anton Prowse wrote:

>   - There is no glossary to say what a "float" is (even in conform.html), and
>     no index entry for "float".
> 
>   - If one searches the text for "float is" (with or without any sort of
>     quotation mark after float) to find a definition of float,
>     then the only definition is the first sentence of §9.5 ‘Floats’:
> 
>       A float is a box that is shifted to the left or right on the
>       current line.
> 
>     If this is indeed read as a definition, then it is a wrong one: that
>     description would also apply to position:relative boxes or conceivably even
>     boxes affected by margins.  Conversely, floats don't always stay on the
>     current line, and aren't always shifted at all relative to where the box
>     would be if it weren't floated.
> 

Indeed, there are various editorial problems with the float model in
CSS21.   See [1] for a few more.


>   An element is said to be /positioned/ if its 'position' property has a
>   value other than 'static'.  Positioned elements generate positioned boxes,
>   laid out according to four properties: ...
> 
> I suggest changing the first sentence to say
> 
>   A box or element is said to be /positioned/ iff its 'position' property
>   has a computed value other than 'static'.

> I say "unnecessary", though that assumes that the reader somehow knows that a
> box's properties are the computed values of the corresponding properties of the
> element that generates that box.  It is a well-known long-standing issue that
> no part of CSS2.1 actually says this though, and I've just noticed that there's
> no issue open for it in http://wiki.csswg.org/spec/css2.1.
> Please add an issue for this.

Alas, element vs box is well known to be a can of worms as the spec
currently stands. :-/


>>> b) Layer 6 in edit 3 contains a with-phrase ("with stack level 0")
>>> that is ambiguous. The sentence can mean
>>>
>>>    [positioned descendants and stacking contexts] with stack level 0
>>> or
>>>    [positioned descendants] and [stacking contexts with stack level 0]
>>>
>>> It means the former, but that requires considerable thinking: one
>>> tends to overlook that stack level zero includes elements with
>>> 'z-index: auto'.
>> One shouldn't do; the proposed definition of the 'auto' value of
>> 'z-index' in Edit 1 (which you said was OK) says:
>>
>> "The stack level of the generated box in the current stacking context is
>> '0'"

> How about
> 
>   6. those positioned descendants and stacking contexts whose
>      stack level is 0.
> 
> (That may still be a bit subtle for people not native speakers of English,
> because it assumes that the reader knows that *"those positioned descendents"
> by itself would be stylistically wrong (wrong formality) in this sort of
> document.)

It's a concern, certainly.  Still, I like your proposed wording.


> I purposely removed the quotation marks from the 0, which I think also
> helps to be more inclusive of the z-index:auto case.

Good catch.  Those quotes shouldn't be there.


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

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

Received on Sunday, 11 July 2010 08:41:07 UTC