- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 13 Mar 2009 17:51:39 -0700
- To: David Hyatt <hyatt@apple.com>
- CC: Jonathan Snook <jonathan.snook@gmail.com>, www-style@w3.org
David Hyatt wrote:
> On Mar 13, 2009, at 3:54 PM, Jonathan Snook wrote:
>
>> I've spent a little time over the past week working on an idea. I
>> don't know if it's viable or not or whether something like it has
>> already been proposed (besides Advanced Layout and the Grid module).
>> But it never hurts to pitch my own stone into the pond.
>>
>> Matrix Layouts:
>> http://snook.ca/technical/matrix-layouts/
>>
>> Along with the accompanying blog post:
>> http://snook.ca/archives/html_and_css/matrix-layouts
>>
>> Good or bad, I look forward to some feedback.
>>
>> -Jonathan Snook
>>
>>
>
> I like the idea of a grid/matrix layout, and I certainly prefer what
> you've specified (as well as the grid proposal from Microsoft) to the
> ASCII art approach in CSS advanced layout.
>
> I'd rather just see a position:grid value and then use some kind of
> grid unit in conjunction with left/right/top/bottom. I think that
> could achieve the same effect and feels more natural to me than the
> two pairs of numbers crammed into the position property.
>
> For example:
>
> position:grid;
> left: 1gr;
> top: 1gr;
>
> To put the object's top left corner at the top left corner of row 2
> column 2 (assuming 0-based row/column access).
>
> Stretching across the whole first row would be as easy as:
>
> position:grid;
> left:0;
> right:0;
>
> Width and height could be specified in grid units as well (there would
> be a fair bit to work out though regarding how the overall row/column
> widths/heights got determined).
>
> dave
> (hyatt@apple.com)
>
>
I am using special 'flow' attribute[1] for defining type of the layout
manager. So container looks like as
#container { flow: grid; }
and children have something like this:
#top-spans-3-columns { left:1#; right:3#; top:1# }
#bottom-spans-3-columns { left:1#; right:3#; top:3# }
It is not desirable to use 'position' attribute for that as you may want
to say something like:
#bottom-spans-3-columns { left:1#; right:3#; top:1#; position: absolute; }
to move the element on different z-stack position.
In any case positioning and type of layout management are quite
different entities -
layout manager defines the way how elements are being replaced in
*normal/static* flow. IMO of course.
[1] http://www.terrainformatica.com/htmlayout/flow.whtm
--
Andrew Fedoniouk.
http://terrainformatica.com
Received on Saturday, 14 March 2009 00:52:20 UTC