Re: [css21][css3-box] please define "block container element"

(12/03/31 1:24), Simon Sapin wrote:
> In other words, elements that have for their 'display' property a
> computed value of 'block', 'list-item', 'inline-block', 'table-caption'
> or 'table-cell' generate block container boxes.

This sentence is not precise in that it should include
'table'/'inline-table'. They generate block container boxes too: table
wrapper boxes. Like 'list-item', not all the boxes they generate are
block container boxes. I did explain this after the tl;dr summary.

> Although there is no formal definition for this, I think it is
> unambiguous that such elements are block container elements.
> 
> There is no mention of "block container" in the chapter on tables. But
> other table boxes never have block-level or inline-level boxes in their
> children (at least after the steps described in 17.2.1), so they can not
> be "block containers".

How do you interpret this part of 17.4 then?

  # In both cases, the table generates a principal block box called the
  # table wrapper box that contains the table box itself and any
  # caption boxes (in document order).
  # ...
  # The table wrapper box is a 'block' box if the table is block-level,
  # and an 'inline-block' box if the table is inline-level.

The table wrapper box is clearly a "block container box" no matter
whether the element is 'display: table;' or 'display: inline-table;'
according to these sentences. Interestingly, your last paragraph is
correct with regard to the definition of "table boxes". But then which
element should be responsible for the table wrapper box?


Cheers,
Kenny

Received on Friday, 30 March 2012 19:12:41 UTC