People may say I sound like a broken record but, I hate Internet Explorer. I like to say I don’t hate anyone or anything in this world, because hate is a powerful word, but I absolutely hate Internet Explorer. It is by far the worst browser out there. Ever version has been terrible, and it’s pretty funny to see bugs in IE7 that have been around since IE 4 (maybe even earlier).
I would like to start out by saying that Internet Explorer is so far behind in terms of capabilities in comparison with any other of the major browsers. It barely has CSS2 support, and definitely has more rendering bugs than any of the other major browsers. If you want to see a few good ones in action, here is a list of the nasty ones.
Let me explain why I am saying this. I, like most web developers these days, develop in FireFox. The biggest reason right now is simple, firebug. The firebug plugin makes a web developer’s life a great deal easier. As a matter of fact, if it weren’t for IE, I would go as far as to say, it makes a web developer’s life very easy. Also, rendering in FireFox works pretty much exactly how you would expect it to. I am not saying FireFox doesn’t have its issues. But it’s so much easier to develop in, and like I said, things almost always render as you would expect them to.
This whole thing started because of a bad experience I had today. I am working with my coworker on re-writing a custom drop down widget we created. I had to modify the CSS and I ended up setting up a background color with a text box sitting in the div with the background color. I only wanted that color to show up to the right of the text box, where the down arrow shows up. The outer div had a border of the same color as the background. IE (6 and 7) seemingly was adding another pixel to the top and bottom border. See Below:
I thought, meh, so IE add’s an extra pixel top and bottom margin, margin: 0 on the text box will fix that. WRONG. Actually what IE (6 and 7) does is adds a pixel to the top and bottom margin of whatever value you set. So in order to get the correct result, I had to add a top and bottom margin of -1px only in IE. These are the kinds of problems that are the most frustrating because you have to put in special hacks for IE. Also, they are so simple and there is NO REASON for M$ to do something like that.
Everyone should try this exercise, check out the acid 2 browser test in FireFox 2. It doesn’t look perfect. But after that try it in IE7 for a good laugh.