By now, I’m sure everyone has choked back a tear or two at the final release of Internet Explorer 9. We immediately started getting support requests asking why their websites look broken in this new ‘revolutionary’ browser (hard to say that with a straight face.) Yes, we are again submerged into Microsoft hell, needing to find fixes for yet another browser. We have done a lot of legwork figuring out the best way to handle supporting this IE9 so we wanted to share the information we have learned to make developing (a little) easier.
I have been developing for IE8 since it was first released. Although they say it’s a final build, it’s actually in a late beta stage. There are several key CSS commands that haven’t been completed yet (such as :first-letter) and some calculations that still aren’t right in the browser. This is why they built the compatibility mode into it. This creates a major issue for web developers because any conditional statements for IE8 that are put in will break the page once it is fixed. I have thought about every possible fix and the only reasonable solution that I’ve found is… kill it!
Any serious CSS person has hacked their way through more ‘Internet Exploder’ issues than they care to talk about. Even if there are only a few small issues to fix in an area, it can be difficult to track them through multiple style sheets (ie. conditional sheet for IE6 & 7). Hacks are just bad practice, so what can you do? There is a better way! I came up with a neat little piece of code that has greatly simplified my life when dealing with cross-browser compatibility.
I lost it. It was bound to happen. The last project I worked on finally took me over the edge. I took it pretty well when everything scrolled on the page except the title. I kept my head when I was trying to fix the custom H3 tagged headers in my modules when they got cut off, widened the column and broke the layout, I even kept my sanity as I re-sized every %$(#ing box to match the pixel-perfect design the client needed that was displaying differently on IE6 than on every other browser available on Earth…
but this… this was the code that broke the programmer’s brain.