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

Le 30/03/2012 14:01, Kang-Hao (Kenny) Lu a écrit :
> Context: a three-month-old thread[1] about whether 'overflow' applies to
> 'table'/'inline-table' and what "block container" is in general.
>
> tl;dr version:
>
> 1. We should define the term "block container element"
> 2. We might want to revisit the question whether a
> 'table'/'inline-table' counts as a "block container element"
> 3. We might want to avoid the term "block container" and use either
> "block container element" or "block container box" as possible.


I’m not sure how "overflow" should behave, but block containers are 
defined in CSS 2.1:

9.2.1:

"""
Except for table boxes, which are described in a later chapter, and 
replaced elements, a block-level box is also a block container box. A 
block container box either contains only block-level boxes or 
establishes an inline formatting context and thus contains only 
inline-level boxes. Not all block container boxes are block-level boxes: 
non-replaced inline blocks and non-replaced table cells are block 
containers but not block-level boxes. Block-level boxes that are also 
block containers are called block boxes.
"""

17.4:

"""
The caption boxes are block-level boxes that retain their own content, 
padding, margin, and border areas, and are rendered as normal block 
boxes inside the table wrapper box.
"""

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.

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".

Regards,
-- 
Simon Sapin

Received on Friday, 30 March 2012 17:25:05 UTC