- From: James Elmore <James.Elmore@cox.net>
- Date: Tue, 26 Jun 2007 12:40:40 -0700
- To: www-style@w3.org
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