I'd just like to take a moment to display my hate for MSIE's rendering engine. When I'm not writing web pages, my only gripe is that it took until IE7 to implement full support for PNG images.
Trying to write web pages with MSIE makes me cry though. The people writing it's layout engine must have logic dyslexia. I cannot do super simple things like create static table layouts or add padding to a page-fill div.
I write some html and css that makes sense to me when I lay it out in my mind. (I don't use WYSIWYG editors) Bring it up in Firefox... sometimes I did something stupid and it's a quick fix to get it to look right... then I display it in MSIE and all I can say is WTF.
I wrote a super simple table/css example that glaringly shows MSIE's horrible layout logic.
Link.
Each of the colored cells should be exactly the same size. In Firefox, they are. In MSIE, depending on how much text is in that 2nd row cell, all of the cells will have different widths even though I
explicitly set the cell width. Forget the fact that MSIE seems to ignore the cell width that I set almost entirely. The only recourse I found was to set a css style
table-layout: fixed. But that just makes it look equally dumb in both browsers.
The second problem is that IE seems to do margins/padding in the wrong order(hence dyslexia). In the same example, the outter div applies padding inside of itself so the tables don't take 100% of the width. Where as that happens in FF... in IE it seems to calculate what 100% width is, then add the padding to each side afterwards. What you get is a page that always has a scroll bar no matter how large you make it. The same thing seems to happen when giving the tables margins instead of the outter div padding.
The best one can do is try doing hacks that trick one browser but not the other... like I was told making a table
height: 1% would fool IE into performing the padding layout correctly. However then Firefox uses that value to calculate where to position objects that come after the tables... which would be inside of the tables. I hate using hacks for web pages. I'm not going to say everything but MSIE is perfect... but MSIE has always been notorious for not following standards, and it appears to still have issues despite the gains it has made in closing the huge compliance gap since last time I tried making a website.