Вы можете ...
A) вставить прозрачный элемент «делитель» между 3-м и 4-м, что приведет к очистке: оба, занимают высоту 1px, занимают всю ширину, а затемtop: -1px на 4, 5, 6, поэтому между ними нет вертикального промежутка в 1px.
B) используйте inline-block вместо float, например: http://jsfiddle.net/gLcNm/16/
Требуется разметкаизмените, чтобы между вашими боксами не было пробелов, И хак для CSS для IE, который изначально не выполняет inline-block без повторного выделения inline для уровней блоков.
C) заставляет каждый из этих блоков div содержать "строка "div:
<div class="row">
<box><box><box>
</div>
Затем очистите row
, чтобы в нем были поля.