W3C home > Mailing lists > Public > www-style@w3.org > April 2012

Re: [css3-flexbox] Flexbox Terminology

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Mon, 9 Apr 2012 23:48:18 -0700
Message-ID: <CALRQH7-VeyjdvwpP-Mwws6Bjs9FHJVtd-AkQdDpwQ+6G1URitA@mail.gmail.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: fantasai <fantasai.lists@inkedblade.net>, "www-style@w3.org" <www-style@w3.org>
On Mon, Apr 9, 2012 at 8:16 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:

> On Mon, Apr 9, 2012 at 10:56 AM, fantasai <fantasai.lists@inkedblade.net>
> wrote:
> > There's an editorial thing that bothers me about Flexbox, which is that
> the
> > terminology is a little inconsistent with what we do elsewhere and with
> the
> > concepts themselves:
> >
> > The thing that's a container is called a "flexbox", but the boxes that
> > actually
> > flex are called "flexbox items". Usually we call the container box a
> > "container",
> > and child boxes are called "boxes", not "items". We don't use "items" to
> > refer
> > to boxes anywhere else, and I don't see any reason to start a new
> convention
> > here.
> >
> > So I'd like to propose that the boxes that flex are called "flexboxes",
> and
> > the
> > containing element be called the "flexbox container".
> I don't like this change.
> For one, for consistency, it would require us to change the 'display'
> value to "flexbox-container", which is much longer than it has any
> right to be.
> For two, Grid is using the "X as container, X Item as child" pattern
> as well, and I expect that other new layout modes will do the same,
> such as in my proposal for Stack Layout.  In Grid (and Stack) the
> pattern clearly makes sense - the container *is* a grid (or a stack).
> Letting Flexbox match is convenient, and not harmful.
Strictly speaking 'display' in the way it is used now has nothing
common with 'flexbox' and 'flexbox-container'.

At the moment `display` defines layout behavior of the element
*itself* but not its children, it defines requirement of the element to its

display: inline and inline-block - the element has to be placed inside
inlines container;
display: table-cell - it has to be placed inside row container;
display: block - inside block container;
and so on.

'flexbox' (as a value of the display) is pretty strange creature.
It is a requirement to *children*.
And that contradicts with other display values. Suddenly
table-cell cannot contain flexible elements inside.
As so list-item and inline-block. I would like to know reasons
for such limitation.

And in general current design of 'flexbox' as a concept is quite
limited and at the same time needlessly over-complicated (those negative
Conceptually line box can be a container for
flexible items: line box can contain as non-flexible glyphs as
flexible inline-blocks like inputs or flexible <img>'es.

Andrew Fedoniouk.

Received on Tuesday, 10 April 2012 06:48:47 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:14 UTC