Это стандартная проблема с плавающей запятой. У вас есть куча плавающих элементов внутри родительского контейнера div. Поскольку childs являются плавающими, родительский объект не расширяется, чтобы включать все из них.
Я знаю о решении clearfix, а также устанавливаю свойство overflow в родительском контейнере div как "авто" или "скрыто". http://www.quirksmode.org/css/clearing.html Для меня настройка метода переполнения выглядит намного лучше, чем одно свойство. Я хочу понять, когда подход clearfix имеет преимущество над этим методом, потому что я вижу, что он используется очень часто.
P.S. Меня не интересует IE6.