Via Dave, more CSS stuff from Phil Ringnalda:
When it works right in a reasonable number of browsers, CSS is a great thing. Even when it doesn't, it can be fun to play with, and use bugs to make fun of the other guy's browser. But CSS is not a religion. It's not all-or-nothing. If what you do is play with CSS and then write about it, great! Please, for my sake, bang your head against it, with a half-dozen browsers on two or three operating systems all going at once, and then tell us what you learned. But, if you want other people, who don't do that for fun, to get into CSS as well, then you need to stop acting as though anyone who ever uses a single table or font tag is evil. If someone whose non-tech writing I love spends all their free time for three days running trying to replace their last remaining table instead of writing something beautiful, you've harmed us both.
And Dave Hyatt:
So you have this language that leads to much simpler markup but that is much harder to understand. Now add to this complexity by throwing in a pile of buggy browsers. In addition to trying to understand how CSS is supposed to work, you have the added burden of not being sure which browser is even rendering your page correctly anyway. Then you have to figure out some way of working around all of the bugs in the various browsers.
It's also trivially easy to run into ambiguous areas of the CSS specification that still haven't even been cleared up. There's no real agreement what constitutes overflow for example, or how z-index is even supposed to work. Where floats should position themselves is not 100% clear.
So, buggy, yes. Really complex, yes. Moreover, there are layouts that CSS in its current form simply cannot do. Of course, if you think about it, the fact that people want to keep adding to the layout capabilities of CSS is a testament to the success of CSS.
Web geeks like to write huge articles about how they took crappy building blocks and made something cool and clever, but so frickin' what? Points to you, buddy, you managed to mold some crappy clay into the shape of Michelangelo's David, but it's still just crappy clay.
The simple truth that is obvious to anyone coming at this with no prior experience is that there are fundamental building blocks that are completely missing from CSS and HTML.
All of this massive work on CSS/XHTML/etc. is nothing more than a process of refinement. It's nothing revolutionary or new. The innovation already happened. We've got the 2-dimensional page-like layout with links and images, and even when we have 9000 CSS3 properties, and 4500 variants of XHTML all with their own tag sets that mean more or less the same thing, we're still just going to have a 2-dimensional page-like layout with links and images.
Awesome.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):