- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Wed, 23 Sep 2009 19:52:53 -0700
- To: Brandon D Hechinger <seaprogrammer@gmail.com>
- CC: Brad Kemper <brad.kemper@gmail.com>, Bert Bos <bert@w3.org>, www-style@w3.org
Brandon D Hechinger wrote:
> In an ideal world we would have an option to make it as thin as
> reasonable (without any squishing of font glyphs, adjustment of
> tracking, etc.). In general it would just cause text to word wrap, the
> width matching the longest word.
>
> Then you'd have an extra-thin, which made some reasonable available
> adjustments.
>
> Whatever is developed here also would also find itself happily at home
> when applied to css3-layout's display templates I believe.
While ago I've published proposal about different layout managers and
flex units in CSS:
http://lists.w3.org/Archives/Public/www-style/2009Apr/0154.html
Display template is one of layout managers that it covers.
>
> Speaking of which,
> 1. is there a way to either relate element size without tabular layout,
> so elements can still flow, or allow table layout to break so the cells
> can flow?
Say you have some list (<ul>) and you need to replace its items in rows
having three cells each:
ul
{
flow:horizontal-flow; /* bricks in the wall layout */
}
ul > li {
height: 1*; /* li height spans full row height */
}
ul > li:p:nth-child(3n+1)
{
width: 25%; /* first column, fixed width */
}
ul > li:p:nth-child(3n+2)
{
width: 1*; /* second column, flex = 1 */
}
ul > li:p:nth-child(3n+3)
{
width: 2*; /* third column, flex = 2
two times wider (if space allows)
than second */
clear: right; /* each third items ends row, row break after it */
}
Rows here can have variable number of items in them - matter
of clear:right | left definition.
> 2. I can't discern (or haven't) from the css3-layout what to do if you
> want a table a thousand rows high -- do we need a display: of 1000
> string literals?
Different cases require different layout managers. For master page
layout template is pretty good. Even for the long lists I saw it being used.
li /* each item in this (long) list is defined
by the template: */
{
flow: "a a b"
"c d e";
}
li > div.caption { float:"a"; }
li > div.price { float:"b"; }
li > div.note { float:"c"; }
li > div.principal { float:"d"; width:1*; }
li > div.rebate { float:"e"; }
>
> Basically, I've been having an extremely difficult time handling
> portable, accessible, and i18n layout. The content-based features are
> going to be helpful, but I still need a way for related-dimension
> elements to flow.
I suspect that flex units are what you are looking for.
>
> I would generally use this for tabular-like layout (nice pretty form,
> with min-content or something), which breaks apart and flows. In this
> way I could handle the plethora of small displays, visually-impaired
> people using huge fonts, and the variations in language widths/heights
> (vertical languages?).
>
> Thanks. I'm writing in private because I do not feel proficient enough
> on CSS internals to publicly display this.
>
> ...Brandon
>
>
--
Andrew Fedoniouk.
http://terrainformatica.com
Received on Thursday, 24 September 2009 02:53:34 UTC