Hacker News new | ask | show | jobs
by crispyambulance 1178 days ago
I have NEVER been able to understand why it took so long for css to get to grid.

2d layout was something that was “solved” by desktop application layout mechanisms like 25+ years ago. One would have thought given all the attention paid to web apps at the dawn of “web 2.0” that this problem would have been licked fast, but no, instead we had 15 years of floundering with floats and the proliferation of turgid frameworks like bootstrap to get by.

So much confusion and suffering just because there was no will power to straighten this stuff out into something sane and cogent.

2 comments

What do you mean by "get to grid"? Have people come back around to the idea that tables weren't so bad?

I enjoyed web development quite a lot in the '90s, but after CSS came along it was an endless source of frustration, and I gave up on it all.

> Have people come back around to the idea that tables weren't so bad?

In a way, yes, I think so.

Grid has similarities to tables. These similarities are not accidental. They're a consequence of thinking about layout in terms of rows and columns. I recall back in the day the purists always decreed that tables were supposed to be semantic construct and not used for layout. Pragmatists just ignored that advice for years because there was nothing but a lot of obstacles if you went "table-less" for layout.

But yeah, tables "just worked" for layout despite what purists said. Now we have "grid" and it's part of css, so it's "OK" now for the purists.

I remember this comic strip from 2005, it captured the essence of the situation perfectly: https://web.archive.org/web/20100125163107/http://okcancel.c...

What language/tech should CSS have looked to?
Take your pick. Java Swing GridBagLayout? Anything that allows you to reason cogently about layout in terms of rows and columns?

I just wonder what CSS implementers were thinking when people started replacing desktop application with web-apps and they could see that application developers could zip through a dialog layout in minutes whereas the same thing in a browser would take endless effort and workarounds.