Re: [CSS21] The width/height properties list-item, run-in and table-* display types

Boris Zbarsky wrote:
> On 7/29/10 4:18 PM, Anton Prowse wrote:
>> (1a) nothing in the spec seems to explain its usage on list-item or
>> run-in elements;
> 
> Sure it does.  Section 10.3.

Certainly, I think that the spec believes it covers list-item and run-in
in this section.

> Note that this section talks about inline
> and block _boxes_, not the display value.  So for a run-in, what width 
> does depends on the box the run-in generated; a list-item always ends up 
> with a block box.

However, outside of the discussion in 10.3.7 of the static position of
absolutely positioned,non-replaced elements, the word 'box' is found
only once in the whole of 10.3 – in the first paragraph:

   # The values of an element's 'width', 'margin-left', 'margin-right',
   # 'left' and 'right' properties as used for layout depend on the type
   # of box generated and on each other.

The word 'element' is used everywhere else, including the subsection
headings.

That's not important though.  The fact is, I'm mistaken about list-item
and some run-ins, since there are indeed block-level /elements/ and are
covered in that section.  On the other hand, the other run-ins are
inline-level elements, not inline elements, and so are not covered.  But
this should be addressed as part of the great box cleanup in [1]; I was
mistaken to blame to the 'width' property definition.  (My doubts arose
as part of trying to untangle the box vs element knot. Clearly coffee is
needed!)

>> (1b) nothing in the spec seems to explain its usage on table-caption,
>> table-header-group and table-footer-group elements;
> 
> Section 17.4 says:
> 
>   The caption boxes are block-level boxes that retain their
>   own content, padding, margin, and border areas, and are
>   rendered as normal blocks inside the anonymous box.
> 
> So section 10.3 applies to those.

You're right.  Then table-caption elements need to be included in the
classification of block-level elements in 9.2.1.

> The term "row groups" in the spec means elements with 'display' set to 
> one of 'table-row-group', 'table-header-group', or 'table-footer-group' 

I suspected it might!

> (though it might be good to clearly define this somewhere, of course)

Indeed. :-)

>> In the case of table-column and table-column-group elements, 17.3 states
>> that the 'width' property gives the minimum width for the column, but
>> the chapter doesn't mention the effect of the 'width' property on
>> table-column-group elements in the fixed table model.
> 
> The algorithm seems pretty clear: 'width' on column groups is ignored in 
> the fixed table model.

I don't see that stated, though I don't doubt that's what's intended or
implied.

> Is that not what UAs do?

No idea; I'm just working with the spec text.


>> (For the other table-related parts, this could be as simple as pointing
>> to Chapter 17 where appropriate. Alternatively, Chapter 9 could mention
>> that the behaviour of many properties as applied to table-related
>> elements is described on Ch.17, thus doing a global, catch-all 
>> deferment.)
> 
> This might be a good idea.


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

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

Received on Thursday, 29 July 2010 21:27:02 UTC