[CSS3] flex/box, grid, template, 'direction', 'block-flow', 'writing-mode'.

There is a number of discussions on the list that have one 
common area:

1) flexbox - XUL version and its reincarnation in Mr. Atkins proposal. 
    It is about different types of block flow.
2) The "template" proposal -  "free range" block flow.
3) The Grid proposal - kind of template block flow.
4) The Text Layout Module [1] introduces literally 'block-flow'.

As you see all these proposals/modules are trying to define 
various types of block-flow in CSS. They compete for 
single entity - value of some 'flow' or 'block-flow'  CSS

'block-flow' in [1] defines "Top-to-bottom block flow", 
"left-to-right block flow", etc.
The flexbox proposal is trying to define exactly the same 
entities. The "template" [2] is also about block flows. 
When applied "template" will be mutually exclusive with 
the 'block-flow' and with flexbox. 

I propose to unify all this in single 
'block-flow' property that will contain definition of 
layout method of blocks inside block-container:

block-flow: vertical | horizontal | 
vertical-box | horizontal-box | "template" | grid | ...

with 'vertical' being a default value. 

Existing 'direction' property already defines 
writing method - ltr and rtl and can be used 
for the definition of block flow direction.

For vertical writing systems the 'direction' can
be extended by the values 'ttb-rtl' and 'ttb-ltr'.
(In fact full form of current 'ltr' is 'ltr-ttb')

I see a great value for e.g. **-box and "template"
layouts for Japanese, Chinese and Korean pages - 
they use tables a lot at the moment.  
Flex units, block-flows and templates when done 
are significantly better than tables for layout purposes.

[1] http://dev.w3.org/csswg/css3-text-layout
[2] http://www.w3.org/TR/css3-layout/

Andrew Fedoniouk

Terra Informatica Software, Inc.


Received on Tuesday, 8 June 2010 06:16:31 UTC