- 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