Creating web applictions that work on Internet Explorer is bloody hard
I'm the author of a Free Software web application, eLAS (http://elas.vsbnet.be).
Though the application is written and supported purely on a LAMP stack, many of it's end-users are using MS-Windows and unfortunately Internet Explorer.
Starting with eLAS 2.0, I already dropped any form of support for IE 6, but I do provide bugfixes for IE 7 and 8. For that sole purpose, I need to run two instances of Windows XP in Virtualbox (one for each version).
A little over a month ago, I decided it was time to update the dated site layout to a CSS and Division based layout. The whole process took me less than one hour and the result looked identical on FireFox, Chomium, Opera, BrowserNG (Symbian) and Safari. Imagine my surprise when I finally booted up the virtual Windows installs to find major problems on both versions of IE.
I already spent hours fixing the layout on this monsterous rendering engine, but the funniest error was in the site's footer. On IE it was hovering all over the place, while ever other browser rendered it correctly. As it turns out, this is again a known rendering bug and the only thing needed to fix it was to add "height: 15px;" to the CSS file. Instead of just controlling the height of the division, it correctly anchors it to the bottom of the containing division and it keeps FireFox and Chromium happy.
Now I need to figure out why IE oversizes a table that has a width as a percentage inside a dynamically sized division...
Comments
8 comments postedThanks for all your comments.
I managed to fix most of these bugs by now, one of the keys was to mess with the doctype because IE was hitting something called quirks mode... which completely breaks Mootools.
You should try IETester - http://www.my-debugbar.com/wiki/IETester/HomePage
We used to run 3 versions of IE (6, 7, 8) for testing our web applications.
Oh, and one other thing... it's soooooo annoying that you can't run separate versions of IE in one Windows installation. Now with IE9, it's going to be 4 versions!
When I first started with css and div layouts, I found that using a css reset like http://meyerweb.com/eric/tools/css/reset/ solved a lot of the problems with cross-browser compatibility. [You may do this already, so I apologise if I'm teaching you to suck eggs :) ]
I realise it won't fix some of IE's bugs, but it definitely helps to have a level starting point.
Could that be the old bug where IE thinks paddings are _added_ to width rather than being included in it?
Hi there,
Small tip: you should have a look at IECollection. A neat package that allows installation of multiple IEs on the same machine. It's not gonna cut your IE-related debugging efforts in half, but at least will avoid you the hurdle of maintaining two VMs.
Cheers,
Ronan
Solution:
Add a big, fat "Does this look bad to you? Get a decent browser!" Button to the app! :D
yeah really, my son does that too, simple.