IE quirks revisited
Somewhat to my amazement, I was able to get zen functional in IE. Even more amazingly, the code still validates.
The problem was a lot easier to fix than I expected. The sidebar didn’t appear because it came after the content in the code. Putting it first probably isn’t ideal, but for now it works. I couldn’t tell you why it’s that, but it is. However, once the sidebar was showing up, IE was interpreting the margins on the content div incorrectly (increasing the left one by 50%), which left parts of the post text going beneath the sidebar. Not pretty. Anyway, I was able to fix it by putting a left padding on the “body” div instead of a left margin on the content div, which, I’ve just noticed, had the side effect of shoving the footer to the right as well, so that’s no good either. Grah. It’s fixable (has been fixed now, in fact), it’s just a pain in the ass. I hate doing things that feel like hacks to work around something that was just fine by the web standards but didn’t work in IE.
As a sidenote, I think I’ve finally figured out in my head what the difference between margin and padding is supposed to be. Margins are outside of the “border” of the element (whether one is displayed or not) and padding is inside. It’s so simple. Unless IE is interpreting, and then I don’t even know what it does. I’m starting to understand why standards-compliant CSS designers hate IE so much.. (disclaimer, there are probably other browsers with issues too. I just don’t use them.)
M.E. Patterson
April 1st, 2005
3 years, 4 months ago
Standard-compliant CSS designer here –
First off, if you really want to be slick, I recommend you google around on the CSS “box model.” Learning that suddenly makes CSS make so much more sense, especially margins and padding and collapsing divs under IE. Blech.
Secondly, yes, IE is a big pain in the ass. Let’s not even get into the (going on 4 years now) failure to support alpha in PNGs. I discovered a great onMouseUp() dhtml bug the other day… apparently if you use that on an input element (say, a submit button) that is set to visibility:hidden after the onmouseup() — example, a dissapearing login box — it will freeze IE. Works fine in moz, but IE barfs. Fun fun.