I was reading Veerle’s blog today; the excellent article A CSS styled table version 2, to be precise. All good, practical stuff, and well-presented as usual. But what stood out for me was the technique to stripe the table rows: either through classes, or Javascript.

Of course, both of those are valid techniques; but really, neither should be. It’s pretty easy to forget, when we see how far CSS-based design has come in the last few years, just how reliant on workarounds and tricks we are in order to perform what should be basic functions.

Presented below are some of those workarounds that I’d love to see consigned to the dustbin of history; not because they are bad – on the contrary, they are extremely inventive – but because CSS 3 should allow the effects to be replicated without the extra mark-up, script or code.

Tiger-striping on table rows

Whether done with background images, DOM scripting or just adding classes to the markup, none of the techniques are as easy as using the nth-child pseudo-class:

Drop shadows

Of course, the problem is that perennial one: lack of support. No modern browser currently supports all of the examples shown above, and it will be many years before we can stop using the workarounds altogether. But I do look forward to the time when they become a secondary consideration – and to what extensive use of the new declarations reveals in terms of creating new workarounds to future problems.

Yeah, Tiger Striping and multiple background images, I’m waiting for that so long.
Hehe, yesterday I read my Professional CSS book ( again =] ) and the content of that chapter is almost the same as the article here.

I’d be most interested in finding out if there is a watchlist keeping tabs on the various browser companies to see when/how they plan on implementing various CSS3 features. I know they say “A Watched Pot Doesn’t Boil” but I’m very keen on watching…

Likewise, I can’t wait to be rid of these methods. The table striping method in particular. Conincidently I mentioed the same thing on Veerle’s blog a few hours ago; as well as another method – using XSLT.