Re: [css3-flexbox] overflow property

(12/05/14 0:33), Anton Prowse wrote:
> On 13/05/2012 12:41, Kang-Hao (Kenny) Lu wrote:
>> (12/05/13 17:44), Anton Prowse wrote:
>>> I think this was the right call; after all, the things it contains are
>>> not blocks.  The more awkward bit was the flexbox /items/ where we
>>> don't know if they're going to be BFCs or flexbox FCs, and so the
>>> spec is intentionally vague there, which again I think is also the
>>> right call.
>>
>> Instead of making it vague, what is the problem by saying
>>
>>    | Additionally, each of the flexbox items establishes a new block
>>    | formatting context for its contents, unless it establishes a
>>    | flexbox formatting context or it's a box of display 'table'
>>    | (meaning that it establishes a "table formatting context").
>>
>> instead of the current wording
>>
>>    # Additionally, each of the flexbox items establishes a new
>>    # formatting context for its contents.
>>
>> (By the way, typo here: s/new/new block/)
> 
> That's not a typo; that's the vagueness that I was referring to.
> 
> Although I normally err on the side of preciseness, the nice
> thing about the vagueness -- which I prefer to think of as an
> abstraction ;-) -- is that it allows the flexbox spec to work in
> the case that other specs define other types of formatting contexts.

Than I would prefer that there is a mapping in this chapter like:

display                               formatting context
-----------                           ------------------
list, table, block, (anonymous)              BFC
flex                                         FFC

and so a later spec can amend it like how this chapter amends the
'position' 'display' 'float' relation table.

The current prose, as it is, just looks like having a typo there, given
that "formatting context" is an undefined term.

> I.e. it's precise-vague, not sloppy-vague :-P
> 
> Note that you wouldn't need to call out tables in your proposal above,
> since a flexbox child with display:table would actually generate an
> anonymous table wrapper box which would be the flexbox item, and that
> wrapper box is a BFC.  (It's the inner table box that establishes a
> "table formatting context.)

That's true.

Or in other words, we can say a flexbox generates a flexbox wrapper box
which is a block container and can contain only the inner flexbox box,
which is a block-level box, but that sounds like a redundant device for
a mental model that doesn't quite match implementations...


Cheers,
Kenny

Received on Sunday, 13 May 2012 16:58:06 UTC