Re: Stylings only possible with Tables

Andrew Fedoniouk wrote:
> 
> James, first of all name 'display-mode' is already taken by CSS3 [1]
> And second your 'display-mode: list-horizontal' is exactly my
> flow: horizontal. So I will use 'flow' instead of 'display-mode' below.
>
Sorry, I mis-typed. I meant display-model. CSS3 states "the 'display-model' 
property determines the algorithm with which an element lays out its children." 
(http://www.w3.org/TR/2002/WD-css3-box-20021024/#L706 "The Box Model, Section 
4.) That is the sense I am using here. I would like to see users have the 
ability to select from several layout algorithms, and the display-model is 
already specified for that purpose.

> ( I also have flow: h-flow - multi-row layout when 'clear' attribute allows
> to break blocks explicitly on rows. This is close to 'float' but different
> as only-blocks-inside model introduces concept of free space so
> flexes can be used. )
My list-horizontal is slightly different from flow. I guess I wasn't clear 
enough. The elements (generic boxes) will be placed side by side, but not 
flowed. They will be adjusted to fit, just the same as table cells in a row. 
Something similar (size adjustment) is also possible for list-vertical, although 
less necessary.

I did include 'flow' layout, where elements (especially including boxes) would 
fill in the text-flow direction, and wrap when they exceeded the line width.

Because the ability to constrain size is separate (using the proposed block 
sets), users could allow the boxes to wrap around multiple lines, or they could 
constrain the sizes so the boxes just fit, or so they filled 80% of the line, or 
anything else.
> 
> I think that your idea of 'display-mode: list-horizontal'
> just demonstrates that it is very needed.
> 
> Problem is that 'flow' by itself is not enough. It should be accompanied by
> flex units too. Think about HTML tables - what they would be without
> their peculiar dimensional attributes and algorithms.
> 
Yes. See clarification above.

> Currently flex units exist in CSS but implicitly:
> 
> width: auto is exactly width:* for block elements.
> 
> Something like:
> { width: XXpx; margin-left: auto; margin-right: auto; }
> 
> is a direct equivalent of
> { width: XXpx; margin-left: *; margin-right: *; }
> 
> ('auto' has other meanings in other context  in CSS - this is why
> I prefer to use * units)
> 
I understand the use of '*' units. I have not (yet) encountered the problems you 
have with 'auto'. Perhaps you could give me some examples?

> flow + flex units allows to reproduce all layouts that
> are possible only by tables currently and give much more.
> 
Just what I am saying. Except I believe that border-overlap and margin-collapse 
control would also be necessary to 'exactly' match what layouts a table can produce.

> As a real example:
> Screen layout of this application uses solely flows and flexes:
> http://en.wikipedia.org/wiki/Norton_Internet_Security -
> no tables there at all.
> 
> My engine works in extreme conditions when HTML/CSS
> is used for UI layout purposes of desktop applications
> so this flow and flexes are the must.  I think that
> standard CSS will also benefit from these features.
> 
> BTW: Mozilla/XUL also has a concept of flexes that
> is incarnated there as 'flex' XUL attribute[2] but I think
> having flexes as a length units is, well, more flexible.
> 
I have to read the XUL specification and see if I agree. Do you have examples 
where flex units are superior. (I may not understand, but it seems you are 
referring to 'flexing' the parent size and constraining the child that way. If I 
misunderstand, maybe I will get it when I read the spec.)

> Its concept is simple and implementation is I would say
> trivial. I belive that in the shed of HTML5 light it is a
> good time to introduce something like flow and flexes
> as some layout constructs there cannot be presented
> without flow and flexes.
>
I would like to see flow, with and without constraints, as well as some kind of 
very basic horizontal layout with constraints which act like a table, limiting 
the sizes of blocks so they fit within the line. Vertical layout is already 
possible, because HTML/CSS assumes it for blocks. Size constraints, as I am 
proposing, could be applied if the user wishes.

> Andrew Fedoniouk.
> http://terrainformatica.com
> 
> [1] http://www.w3.org/TR/css3-box/#L706
> [2] http://developer.mozilla.org/en/docs/XUL:Attribute:flex
> 
> 
Thanks for your time and feedback, Andrew. Even when we disagree, we seem to 
have interesting discussions.

-- 
James Elmore
22162 Windward Way
Lake Forest, CA 92630
Home	(949) 830-9534
Email	James.Elmore@cox.net

Received on Tuesday, 26 June 2007 19:40:52 UTC