On one page on my site, I have a table in the right column that is too wide and rather than showing scrollbars, IE is wrapping it below the content in the left column. I can’t find a fix for this because I don’t know how to describe what’s happening.
Here’s the code I’m using to demonstrate the problem:
<style>
#col1 { float: left; width:189px; font-size:8pt;}
#col3 { width: auto; margin: 0 0 0 191px; }
</style>
<body>
<div id="col1">
<div style="padding-top:30em;border:1px solid red">really tall</div>
</div>
<div id="col3">
<h1>title</h1>
<table border="1">
<tr>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
<td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
</tr>
</table>
</div>
</body>
And here’s how it renders in IE:

In all other browsers, the table of a’s shows just under “title” and I get a horizontal scrollbar. This is what I’d expect, but for some reason, IE wants to clear the content in col1. I’ve tried applying widths, floats, etc, but I can’t get IE to put the table under the title without clearing the col1 content.
I assume there’s some IE hack for this, but what is it?
add
zoom:1to the css of #col3, this will solve (it’s related to haslayout issue)http://jsfiddle.net/fcalderan/ZPztF/
p.s. It’s a kind of magic (cit. Queen) =)
http://reference.sitepoint.com/css/haslayout