It’s alright Robert…
…you’re not the only one getting to the end of your tether.
We had a major website release to put together the other day. We’d fixed every possible bug we could find in the C#, HTML and JS code, bar one: A CSS bug in Internet Explorer was breaking something vital.
I don’t get visibly angry very often, but on this occasion I was absolutely steaming. People were waiting on me to find this fix so we could do the release and go home, but I just could not figure it out. I tried margins, padding, heights, widths, overflow, even obscure positioning techniques. Everything I could think of – all to no avail. I was getting more and more frustrated as time went by but that wasn’t helping either. The handy developer toolbar wasn’t helping – it pointed out that element had the right amount of margin, padding and their wierd hasLayout property.
Ahhhhh, all of them except that seemingly completely unrelated one. I hadn’t fed a specific height to one element and the whole thing came crashing down.
Once I figured it out, that anger faded away to relief and we got the release out of the door. But it made me think: a CSS designer/developer’s profession requires that they pander to a product that despite being vastly technically inferior, is the most popular on the market.
Despite all of this though, I could never contemplate going back to the old way: Using
<table> and spacer.gifs to lay out and style a page. I’d need to retrain all over again for a start – I really can’t remember most of the old tricks we used to use back in the day. There’s one particular (internal) website at work that’s horrendous in that regard – it uses every trick in the book so the slightest change takes hours. What’s more, it limits you in so many ways: Would Sir like to position this box over there? Or perhaps Sir would like a slightly different layout when he comes to print, or when serving to a handheld browser? Sorry Sir, no can do.
Yes, the pain of pandering to Internet Explorer is definitely offset by the advantages that the standards-based methodology offers.