W3C home > Mailing lists > Public > www-style@w3.org > October 2009

Re: [css3-layout] shorthand for slot construction

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Mon, 19 Oct 2009 09:43:26 -0700
Message-ID: <4ADC972E.8060403@terrainformatica.com>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:21 GMT