Через float вы этого не сделаете т.к. float - это расположение элементов вне основного контекста документа с выравниванием по соответствующему краю. То как выстроились элементы в вашем примере - частный случай, определяющийся их конкретными стилями.
То чего вы пытаетесь достичь называется
masonry layout и в общем случае на CSS не реализуется, зато есть целый ряд JavaScript плагинов для этого, ссылки на некоторые есть в статье. Наиболее известный -
Masonry.