Вы можете использовать упаковщик div и несколько столбцов css:
.wrapper {
-webkit-column-width: 150px; //You can't use 100%
column-width: 150px;
height: 100%;
}
Пример решения: http://jsfiddle.net/4Fpq2/9/
Обновление 2017-09-21
В Firefox это решение все еще работает, но не работает в Chrome. Недавно Chrome начал разбивать столбец на маленькие части, а также останавливать содержимое разрыва, если вы установили высоту.
В этом примере http://jsfiddle.net/4Fpq2/446/ я изменяю высоту на максимальную высоту и показываю странное поведение Chrome.
Если у вас есть идеи, пишите в комментариях.
Обновление 2019-03-25
В принципе, это работает даже для Chrome, но у вас должно быть как минимум две строки. Для блока с некоторым количеством видимого текста этот подход все еще должен работать нормально.
http://jsfiddle.net/ncmo9yge/