Вы можете управлять переносом строки, оборачивая группы блоков во вспомогательные контейнеры типа inline-block. Например, вот так. Тут элементы span/ только группируют элементы p/ для разбиения на строки.
. Shadow: Все в порядке, во-первых, это уже решается указанием размеров блоков, а во-вторых, на супер большом экране так и должно быть. Но если не нравится, то после первой тройки можно поставить явный br/, и будет всегда минимум 2 ряда.
Sayonji: а если три элемента в один div , и четыре элемента в другой див , и отдельные стили для поведения элементов внутри каждого див, так не лучше ??? да и на большом экране и на маленьком будет одинаково