I spent much of the afternoon today working on a small addition for the navigation menu in Tour of Generals. It seemed like it was going to be a fairly simple addition at first. I made the necessary modifications and loaded it up to test in FireFox - looked great, loaded it up in Google Chrome - looked great, loaded it up in Internet Explorer - FAIL. I'm not one to bash any web browser as they each have their own benefits as well as drawbacks but this recent episode really made me agree with this chart:
Some of the problems that I came across just tonight with IE were:
- IE renders PNG images different than FireFox. Images with dark backgrounds appear even darker in IE than they should thus making them look like crap. To get the image to look right across all browsers it had to be saved in JPG format.
- IE does not support the CSS inline-block attribute. I ended up having to hack my code like this [style=display:inline-block;zoom: 1;*display: inline] just to make it cross browser compatible.
- The Flash based maps on the site had to be modified because the new navigation menu would drop down below the flash movie. I got this problem all fixed up and then realized that Google Maps has the same problem. I had to do some goofy stuff with the CSS z-index attribute to all make that work.
I don't normally have this many frustrations like this. I've been doing web programming in one form or another for over 10 years and during those 10 years web standards for browsers have gotten better but we still have a long way to go (aahem..IE...hem).
After I was all finished my daughter Emily who is almost 2 years old ran up and sat down beside me and we have this little game where I look up an image of an animal on the computer and she tells me what it is, much like flash cards but with Google Images. She lets me know that she wants to play because she flops down beside me, and with (usually sticky) fingers pointing at the computer screen she says, "Horse? Horse? Horse?" So we got to look at horses, monkeys, and ducks to wrap up the evening and with that all was right in the world again.