Border Weirdness in Internet Explorer
Disclaimer: Check the date! This post was written way back in . If there are technical things in here, they're more than likely outdated, or there may be better ways to do them by now. You've been warned.
While helping a friend rework his Vintage Board Games site (rework not live yet), we came across an interesting IE bug. In a nutshell, in some cases, IE was placing a CSS background image relative to the outside of an element’s border instead of the inside.
The simplified markup of the bug and CSS are as follows:
Basically, it’s a two column layout with the columns wrapped in a div that has a large border. (That
div also has a background image set on it. The .container div seems extraneous in this example but was a
requirement for the layout.) The desired rendering of this markup should look something like the following:
(Note: the black/brown box is the background image.)

But in IE, we get this:

If you don’t trust my images, please try for yourself.
We quickly found two solutions to this problem, the first
involved altering the alignment of the background image to be center instead of
left:
This is how we actually solved the problem on the site.
The second solution I found while attempting to
narrow down the cause of this problem. For this solution we simply set a min-height on the
.content div:
I’m assuming this is some sort of hasLayout issue and giving
the div a min-height (height in IE6, accomplished with conditional comments
in my example) also gives it layout, but I honestly
have no idea what causes this. Anybody have any thoughts?