W3C home > Mailing lists > Public > www-style@w3.org > August 2011

Re: [css3-flexbox] minor box model comments

From: Andrew Fedoniouk <andrew.fedoniouk@live.com>
Date: Mon, 15 Aug 2011 20:10:15 -0700
Message-ID: <BLU165-ds6C812AF531D6CB6B960E5F8290@phx.gbl>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:43 GMT