Nathan bitches about CSS, HTML, and the state of the web
Sat Aug 14 2004 18:48 MDT #These last couple of weeks I've done a lot of work in CSS, and HTML. I've been doing some work completely from scratch, some re-factoring of old code. It's been interesting. I've come to realize that when doing CSS/HTML my pragmatism is more in conflict with my desire to write beautiful code than it is when writing perl or java or most anything else. Obviously this has to do with my skill levels, and my expectations, but some of it is just the way it is.
I love A List Apart and the The Daily Report. I read them religiously. Whenever I'm doing a little html work I pop over to the CSS Zen Garden for a little inspiration. I know what beautiful HTML looks like. And I know what it doesn't look like, namely the stuff I wrote in the late 90's when I was the master of table based layout.
These days I rarely do this stuff, and most of the stuff I do is so easy that I can code it to pretty high standards. But as I say I've been doing real work. And finding that this stuff right is hard. Harder than programing. I've gotten some tough designs with some difficult constraints. Getting them to work has been tough. And some of the solutions aren't so pretty. In one case, I've just given up and used a table for presentation of non-tabular data.
CSS itself is simply not powerful enough, nor easy enough. You can just feel it in your gut. There has to be any easier way. CSS to fails to 'make easy things easy', for a large number of things.
In addition CSS's implementation seems to be irrevocably broken when it comes to beauty. You inevitably have to rely on browser specific CSS hacks to make things look right. This is evil. This is not pretty, and taking advantage of other peoples bugs is simply wrong. Unfortunately it is necessary. Broken.
And the tools, while having come a very very long ways, still do not produce code that I want to release. Dreamweaver and GoLive should, at this point, be capable of supporting semantic markup. Unfortunately not the case and everything, no matter how simple, still has to be run through [HTML Tidy](), then hand-edited in emacs.
The browsers need help. The tools need help. CSS itself needs help. The only good thing about the state of HTML is the community. What is right is now a known thing. (Well there are still some open questions). There is also a lot more information on how to implement this stuff these days. The community works
Getting this stuff right is very tough. I for one am not a happy camper.
Well I'm a little happier now that it validates. Hurray ! :)
