W3C home > Mailing lists > Public > www-style@w3.org > March 2012

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

From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
Date: Sat, 31 Mar 2012 03:12:12 +0800
Message-ID: <4F76058C.4030705@csail.mit.edu>
To: Simon Sapin <simon.sapin@kozea.fr>
CC: WWW Style <www-style@w3.org>
(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?

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

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:38:57 UTC