Порядок вашей разметки также имеет значение.Я предполагаю, что ваша разметка выглядит примерно так:
<div id="b"></div>
<div id="a"></div>
Большинство браузеров отображают это правильно, но на самом деле это неправильный способ упорядочить блочные элементы для плавающего, и IE не компенсирует это.Правильный порядок:
<div id="a"></div>
<div id="b"></div>
Если вы сделаете это иначе, IE визуализирует элемент блока «b» и воспринимает его как потолок, мимо которого элемент с плавающим блоком «a» не может пройти.
Если я ошибаюсь из-за порядка разметки, это может быть проблемой вычисления ширины, как предложил @wajiw.