
The Sliding Doors of CSS has been around for more than three years, but until now the pretty-tabs problem is one I’ve never had to solve with modern tools. (The last time I cracked this nut was working on the Edmunds.com redesign which never saw the light of day in 1999, and back then it was a sliced image and nested table nightmare.)
The basic solution in the Sliding Doors article is very, very clever in the kind of way that gives me great satisfaction.
It’s like a bad hangover, adopting that white-text-on-black-background, transparent-spacer-pixel, tables-within-tables approach to design; you wake up the next morning knowing that you overdid it, but you have to deal with the headache and nausea for the rest of the day. In the case of HTML 4 abuse, you have to deal with it for the next four years.In the inaugural post of his newly-redesigned web site, Jason Kottke uses a phrase that resonated quite strongly with me the moment I read it: “The ghost of Siegel,” as in
“Most pages on the site are valid XHTML 1.0 Transitional. CSS for layout. The ghost of Siegel has been exorcised. The cobbler’s children have shoes at last.”
Those of you who have been tinkering with this HTML stuff since the mid-nineties will probably remember David Siegel from the book that launched a thousand splash pages, Creating Killer Websites.
I confess, I was seduced by the “Killer Sites” mentality when I was teaching myself this stuff in my spare time, hoping to get a real internet job back in 1997.
Splash Pages are Dumb. This was my home page?
It’s like a bad hangover, adopting that white-text-on-black-background, transparent-spacer-pixel, tables-within-tables approach to design; you wake up the next morning knowing that you overdid it, but you have to deal with the headache and nausea for the rest of the day. In the case of HTML 4 abuse, you have to deal with it for the next four years.
I began using CSS fairly heavily during my tenure at Stan Lee Media four years ago, about the same time I began using PHP… that’s probably not a coincidence. When you start writing scripts to generate things on the fly, you quickly learn how magical it is to wrap a form label in <span>, give the span a “formlabel” class, and have done with it… no more finding and replacing all the <font color="#CCCCCC" size="3"> with <font color="#C0C0C0" size="2"> across 57 different files, some of which have the "color" and "font" attributes transposed so that you have to fix those by hand.
But when you’re still locked in the mindset that every element of your page design must render exactly the same down to the tolerance of a single pixel in every browser on every platform back to Netscape 4 in 256 color mode, you’re going to find yourself fighting CSS and trying to subvert it into a print formatting tool the same way you did HTML 4.
The problem with writing code for a living, be it HTML, PHP, or Java, is that you never really get to point at a thing you’ve made and say, “There. That one is done, and whatever happens to it now is out of my hands.” No matter how badly you want to wash your hands of it (Or tell the creative director to go to hell) It’s too easy to open up the editor, fix a typo, and upload the new version of the page. Lather, Rinse, repeat… it never ends.
That leads to the endless start-and-abandon cycle that I’ve been doing for 8 years. Start something new, learn a bunch of stuff, pause and notice all the dumb stuff I did that would be a big pain in the ass to fix, scrap everything and start from the ground up, and throw in a link back to the old stuff. (Learn a bunch of new stuff, pause and notice all the dumb stuff I did… and so on.)
Content management tools like Movable Type go a long way towards making sweeping site-wide changes a matter of hours rather than a matter of days or weeks, but there’s still the problem of what to do with all my old stuff, random pages, photographs, or gizmos that I’ve put together over the years that aren’t necessarily blog entries or even stand-alone pages. What about my portfolio site? Suppose I manage to comb through my archives back to 1996, and somehow put all of the stuff I want to keep under the control of some magical CMS… there are still all of those grotty old sliced images and <font> tags that need to be fixed and brought into the 21st century.
It’s no small task, which is why even this half-assed XHTML/CSS template set still isn’t finished after its first six months in existence. I have plenty of ideas of things I could do to improve the site here and there, but I just haven’t had the heart to sit down and do an honest-to-goodness white board session with myself over the design and organization of all these ones and zeros I’ve generated over the years.