RE: [CSS21] box "properties" - comments on Working Draft

Hi Anton,

The CSSWG decided that this issue is addressed in the upcoming publication of the CSS 2.1 specification[1] by rolling the issues into issue #243[2].

We hope this closes your issue.

Please respond before 18 March, 2011 if you do not accept the current resolution.

[1] http://w3.org/TR/CSS

[2] http://lists.w3.org/Archives/Public/www-style/2011Mar/0252.html


> -----Original Message-----
> From: www-style-request@w3.org [mailto:www-style-request@w3.org] On
> Behalf Of Anton Prowse
> Sent: Friday, January 07, 2011 12:44 PM
> To: www-style@w3.org
> Subject: [CSS21] box "properties" - comments on Working Draft
> 
> I don't want to get too deep into the element vs box issue here, but I do
> think that if  we're not going to do much to resolve that issue for
> CSS21 then at least we should make the following changes to 9.2 which
> provide the semblance of a foundation for the willful interchangeability that
> is rampant from that point onwards.
> 
> 
> Issue 1:
> 
> 9.2.1.1 (Anonymous block boxes) says:
> 
>    # The properties of anonymous boxes are inherited from the enclosing
>    # non-anonymous box (e.g., in the example just below the subsection
>    # heading "Anonymous block boxes", the one for DIV). Non-inherited
>    # properties have their initial value. For example, the font of the
>    # anonymous box is inherited from the DIV, but the margins will be 0.
> 
> CSS properties are not associated to boxes; they're associated to elements
> and give rise to a corresponding visual effect on boxes.
> Moreover, the non-inherited 'display' property certainly doesn't have its
> initial value (which is 'inline').  This paragraph needs rephrasing along the lines
> of
> 
>    | An anonymous block box is rendered as if it arose as the principal
>    | box of an element with 'display' value of 'block' whose inheritable
>    | properties are inherited from the element which generates the
>    | enclosing non-anonymous box (e.g., in the example just below the
>    | subsection heading "Anonymous block boxes", the DIV), and whose
>    | other non-inheritable properties have their initial value.  For
>    | example, the font used for the content of the anonymous box is
>    | inherited from the DIV, but the margins will be '0'.
> 
> or better still,
> 
>    | An anonymous block box is rendered as if it arose as the principal
>    | box of a child element of the element generating the enclosing
>    | non-anonymous box (e.g., in the example just below the subsection
>    | heading "Anonymous block boxes", the DIV), such that the child
>    | element has a 'display' value of 'block' and has no other property
>    | set.  For example, the font used for the content of the anonymous
>    | box is inherited from the DIV, but the margins will be '0' (the
>    | initial value).
> 
> 
> Issue 2:
> 
> The section goes on to say:
> 
>    # Properties set on elements that cause anonymous block boxes to be
>    # generated still apply to the boxes and content of that element. For
>    # example, if a border had been set on the P element in the above
>    # example, the border would be drawn around C1 (open at the end of
>    # the line) and C2 (open at the start of the line).
> 
> Note that the wording is better here (properties are set on /elements/), but
> I suggest:
> 
> s/apply to/affect/
> 
> 
> Issue 3:
> 
> Similarly, in 9.2.2.1 (Anonymous inline boxes):
> 
>    # Such anonymous inline boxes inherit inheritable properties from
>    # their block parent box. Non-inherited properties have their initial
>    # value. In the example, the color of the anonymous inline boxes is
>    # inherited from the P, but the background is transparent.
> 
> This could be replaced with something like:
> 
>    | An anonymous inline box is rendered as if it were generated by an
>    | element with 'display' value of 'inline' whose inheritable
>    | properties are inherited from the element (real or _virtual_) which
>    | generates the enclosing block container box and whose
>    | non-inheritable properties have their initial value.  In the
>    | example, the color of the anonymous inline boxes is inherited from
>    | the P, but the background is transparent.
> 
> where _virtual_ links to the paragraph under consideration above for
> 9.2.1.1 where an "anonymous" element is introduced.  (I'm not tied to the
> term "virtual".)
> 
> 
> Issue 4:
> 
> Related to all this is the question of whether the table wrapper box (a block
> container box which is the principal box of a table or inline table element) is
> an anonymous box.  I believe it must be, and this needs to be stated in 17.4.
> The table wrapper box being anonymous essentially means that, by default,
> CSS properties apply to the non-anonymous (inner) table box, and that the
> wrapper box takes the initial values of the CSS properties as described
> above.  This then holds together with 17.4 where a specific subset of
> properties are said to affect the table wrapper box whilst the table box gets
> the initial values for these properties.  If the table wrapper box is not
> anonymous then most of its features (including box model features) are not
> defined anywhere.
> 
> 
> Cheers,
> Anton Prowse
> http://dev.moonhenge.net

> 

Received on Tuesday, 15 March 2011 18:20:59 UTC