- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Sun, 15 Mar 2009 20:27:25 -0500
- To: Jonathan Snook <jonathan.snook@gmail.com>
- Cc: www-style@w3.org
On Fri, Mar 13, 2009 at 3:54 PM, Jonathan Snook
<jonathan.snook@gmail.com> 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
It feels like this is nearly exactly like Grid Layout, except not
quite as flexible.
As well, it commits the (what I consider a) sin of defining the page's
layout only in the aggregate - you have to know *all* of the matrix
declarations to figure out just how many cells are in the grid. This
is why I dislike Andrew's grid layout as well. The official Grid
Layout module declares a grid explicitly on a positioning ancestor, so
you know precisely what's going on from a single declaration.
Andrew does make an excellent point wrt the weaknesses of using the
position property for specifying grid, namely that it prevents you
from doing things like position:relative on the blocks afterwards.
However, this can likely be dealt with by extending calc() to accept
gr units as well. That is, if you wanted to put something in a
particular grid cell and then move it to the left by 1em, you could do
something like:
foo {
position: absolute;
left: calc(2gr - 1em);
top: 1gr;
}
Does this seem reasonable?
I should also state that I love *both* the Grid Layout and Template
Layout modules, and would make heavy use of both of them were they to
exist.
~TJ
Received on Monday, 16 March 2009 01:28:01 UTC