

1 line CSS Grid Framework - vladocar
http://www.vcarrer.com/2009/06/1-line-css-grid-framework.html

======
yan
Isn't it a stretch to call this a "framework"? I guess "frameworks" are the
"startups" of the CSS world.

~~~
jdp
It's definitely a stretch, but most things that are clever are

~~~
enneff
What's so clever about it though? I thought it an obvious approach, and not
very useful.

------
scorxn
The point of CSS is to separate presentation from markup. This approach uses a
hierarchy of divs to define presentation. If that's alright with you, may as
well use tables.

~~~
ajross
But in modern AJAX-y Web 2.0 usage, "markup" doesn't even exist as a distinct
storage format any more. To the extent that it does, it's stored in wiki or
bbcode or some other cooked "markdown" format. HTML exists in the modern world
solely as the _presentation_ layer for a data format defined elsewhere.

So what's wrong with putting layout in the presentation layer where it
belongs? As it happens, our HTML presentation layer _also_ contains this nice,
intuitive mechanism for doing layout using "tables" that works better than
pretty much anything else has (anyone remember the XmForm layout widget from
motif?). So explain again why we can't use them?

Sometimes I get the feeling that the CSS layout nuts still think we're living
in 1997 and that all web content is written by hand. That's just not how it is
any more.

~~~
scorxn
I'm not saying tables are necessarily wrong. I'm saying that this one-line
framework is effectively replacing td's with div's, in that the heirarchy of
markup defines the presentation. I don't see what value it adds over tables,
given the purpose of CSS.

~~~
poppysan
Well for one - cleaner code. Even using this "framework" the result is still
much cleaner than super nested tables!

------
jgrahamc
"The main limit is that you can use only 1,2,4,8,16 columns system plus some
combinations like (50% + 25% +25%)."

i.e. Tables still win.

------
ryanvm
That people have to resort to such creative contortions is a testament to what
a shit pile CSS is.

~~~
burke
CSS is perfectly fine for what it was designed for. Unfortunately, when it was
being designed, tables were still viewed as perfectly acceptable for layout,
and as far as I can tell, CSS didn't really aim to replace it. It seems to me
that it was us OCD designers that wanted semantic markup who adopted CSS for
layout, where sane people would use tables.

(EDIT: I should probably clarify that this is 100% speculation, and based in
no way on having read anything published by the W3C or anything like that.)

Right now, everything sucks.

~~~
gamache
No, CSS is not "perfectly fine for what it was designed for", even if we
disregard that it sucks at layout. It's only better than what came before it.
It's been over a decade, and we don't even have good layout features or named
constants. Of course, CSS's inadequacy is only compounded by the persistent
standards noncompliance of certain major web browsers. But call a spade a
spade; CSS ain't that great. If it were, we'd all leave tables for tabular
data.

~~~
derefr
Why doesn't someone just fork Safari or Firefox and put in the thing-that-
replaces-CSS parsing they'd _like_ to use? A demo is almost always more
convincing, and 99% of browser hacking is standards-compliance—it would take
much less effort to blue-sky a new presentation language if it was a prototype
for which you were the only user.

------
Hexstream
I thought it was undefined to put block elements in inline elements? You can't
put a block element in an inline element but you can put a block element B2 in
a block element B1 and then apply display:inline to the B1 element and not get
undefined semantics?

~~~
Raphael
float sets the display back to block. display: inline is for an IE bug.

------
discojesus
<table></table> ?

------
erlanger
I hope I never have to edit layouts coded like this. It would take me back to
'99.

~~~
timdorr
Yeah, that's just what I was thinking. Extremely nested div's are as bad or
worse than tables.

------
TweedHeads
Cool hack is cool.

