- From: Andrew Fedoniouk <andrew.fedoniouk@live.com>
- Date: Mon, 15 Aug 2011 20:10:15 -0700
- To: "fantasai" <fantasai.lists@inkedblade.net>, <www-style@w3.org>
>-----Original Message----- >From: fantasai Sent: Monday, August 15, 2011 7:56 AM To: www-style@w3.org >Subject: [css3-flexbox] minor box model comments >2. New values for ‘display’ property > > # Flexbox establishes a new block formatting context for its content. > > A flexbox doesn't actually establish a new block formatting context, > since a block formatting context contains... block-formatted contents. > Flexbox items establish new block formatting contexts for their > children. > But I understand what you're trying to do here, not sure how to describe > it, maybe > > | A flexbox establishes a new flexbox formatting context, and thus > behaves > | outwardly like a block formatting context root (flow root). flexbox establishes flexbox root - a box where: 1. Each its immediate child establishes context root (flow root) if it is not a flexbox root by itself. 2. 'float' property of each immediate child of the flexbox gets resolved to 'none' value (flexbox cannot contain floats directly) . That is I believe full definition of flexbox container (flexbox root) > >3. Flexbox Items > > # Flexbox layout algorithm operates on flexbox items. > # Flexbox items are: > # > # Immediate block-level children of flexbox > # Atomic inline-level children of flexbox > # Contiguous run of non-replaced inline children, wrapped into an > # anonymous block > > So, once an element becomes a flexbox item, it is neither block-level > nor inline-level. It is flexbox-level. So maybe write this like > > | The flexbox layout algorithm operates on flexbox items, which are > | boxes that participate in a flexbox formatting context. Flexbox > | items are created from: [insert list here] > Flexbox item (immediate child of flexbox) is a block-level element that establishes its own context root. Contiguous run of non-replaced inline children of flexbox item, is wrapped into an anonymous block - anonymous flexbox item. In general this definition should be in sync with display:table-cell - as it is the same entity (block/context root). And in general CSS Tables Module can be defined in terms of flexbox. Table is just flex-flow: table; with some historical specifics. But that is another story indeed. In any case CSS tables would benefit from flexes too. -- Andrew Fedoniouk http://terrainformatica.com
Received on Tuesday, 16 August 2011 03:10:46 UTC