Положение поплавков смешное. По сути, основной div не учитывает высоту плавающих элементов при расчете собственной высоты. Самый простой способ решить эту проблему - добавить очищающий элемент после всплывающих элементов.
Эта скрипка должна четко объяснить: http://jsfiddle.net/QQxb3/2/
Я думаю, что люди, которые прокомментировали ваше сообщение о том, что он работает, должны неправильно понимать, что вы подразумеваете под «основным дивом», потому что спецификация, которой следует Chrome, а IE следует в данном конкретном случае, будет помещать всплывающие элементы вне его родительского div.