- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Mon, 19 Oct 2009 09:43:26 -0700
- To: Giovanni Campagna <scampa.giovanni@gmail.com>
- CC: Stephen Hay <haymail@gmail.com>, Www-style <www-style@w3.org>
Giovanni Campagna wrote: > 2009/10/19 Stephen Hay <haymail@gmail.com>: >> On Mon, Oct 19, 2009 at 2:15 PM, Giovanni Campagna >> <scampa.giovanni@gmail.com> wrote: >>>> [1] http://en.wikipedia.org/wiki/Layout_manager >>>> >>>>>> While I see your point, I think we still need one grid layout system. >>>>>> My opinion is that we should take whatever is necessary from flexbox >>>>>> and css3-grid (only the 'gr' unit IMO), add them to template layout, >>>>>> and keep that as a grid layout system. So then: >>>>>> >>>>>> Template layout = grid layout system >>>>>> Positioning = position things on and within the grid >>>>>> Floats = float things within the grid >>>>>> Table layout = for laying out tables :) >>>>> The point is: what is template that cannot be done with tables and >>>>> content adjusting? >>>> So we will end up in recommending authors to use tables for >>>> layout purposes, eh? >>> Yeah, of course. The important part is: use tables, not <table>. >> The way CSS tables are specified now, that's simply peanut butter in >> chocolate as opposed to chocolate in peanut butter. CSS tables are >> *meant* for tables in the tabular data sense, are they not? > > CSS Tables were introduced for HTML tables, but they're meant to > visually represent any layout that can be thought as an intersection > of rows and columns, although they have some feature really meant for > semantic tables (like captions). Not the same as Grid, but similar, > and conceptually equal to Template. CSS tables cannot reproduce <table> layout. colspan/rowspan and their flex behavior. width=100% in tables is very far from width:100% in CSS. (and <table>s have explicit flex units already like <td width="1*">, btw) So vast majority of cases where we use flow:"template" now are simply not reproducible by display:table and even by <table>s. It is completely unclear for me what is the purpose of that ugly bunch of display:table|row|cell and friends we have now in CSS. Very complex rules and the whole mechanism is solving just few cases. All usable cases are covered by simple flow:horizontal; layout. In principle CSS:tables without flex units are dead. > >> If I >> understand you correctly, you're proposing extending them to >> accommodate the demands of page layout? If CSS tables already do what >> they're supposed to for tables, why extend the meaning, and why not >> simply create a separate model (which css3-layout seems to be) for a >> page/element layout framework? > > CSS Tables are similar to the Flexible Box model *without any > extension*. The only extension really needed to Tables to be a > complete replacement for Flexible Box is something like box-flex-group > (since even box-lines can be faked with single-row tables, multicol > elements and block-flow), which could be added with the new normative > automatic table layout. > Template Layout could be layered above Tables, instead it uses a > different layout system, which I'd like to change. Ok, back to practical path: Chapter: 3.5. flow:"template" in http://www.terrainformatica.com/w3/flex-layout/flex-layout.htm Please try to reproduce sample of layout defined there using either CSS:tables or <table>s. You also can try to define this with box-flex-group of yours. Or even in XUL or any other LM system you know. > >>>> And what is that "content adjusting"? >>> Changing the source document to achieve a particular layout, dropping >>> semantics, adding more container elements, breaking logical order. >>> Bravissimo! -- Andrew Fedoniouk. http://terrainformatica.com
Received on Monday, 19 October 2009 16:43:48 UTC