По этой ссылке вы найдете дополнительные варианты решения вашей проблемы: http://www.quirksmode.org/css/clearing.html
Вариант 1.
Я полагаю, что вы можете установить свои контейнеры div на overflow:hidden;
, что очистит их и ударит второй контейнер так, чтобы не было перекрытия.
Вариант 2.
Вы должны установить div ниже ваших float, который очищает их. Есть несколько способов сделать это, но самый простой - установить еще один div под вашими числами с помощью css clear:both
Примечание: Не забудьте также дать своему очищающему div height:0;line-height:0;display:block;
, чтобы убедиться, что оно не добавляет лишних пробелов в нижней части контейнера
EDIT:
С тех пор как последний вопрос был задан (и получен ответ), изменились новые способы достижения желаемого эффекта. Обычной практикой является наличие контейнера div со следующими стилями:
.container:before,
.container:after {
display: table;
line-height: 0;
content: "";
}
.container:after {
clear: both;
}
Этот метод используется популярными фреймворками (например, Zurb Foundation и Twitter Bootstrap)