Почему это не работает
fitColumns
является «горизонтальным расположением», поэтому он намерен уйти в сторону, а не вверх и вниз - по аналогии с игра с прокруткой. С учетом их конструкцией, горизонтальные макеты требуют атрибута высоты, как описано здесь: http://isotope.metafizzy.co/layout-modes.html#horizontal-layouts
статического решения
Я хочу, чтобы заполнить ширину контейнера с, однако многие колоннами подходят, и я хочу его занимать столько вертикального пространства, сколько необходимо.
Вы хотите использовать masonry
вместо fitColumns
. Установка columnWidth
позволит вам заполнить ширину контейнера и использовать как можно больше вертикального пространства. Например: http://jsfiddle.net/cUcFd/22/
$('#container').isotope({
itemSelector : '.block',
// layoutMode: 'fitColumns',
layoutMode: 'masonry',
masonry: {
columnWidth: 100
}
});
динамическое решение
Предполагая, что вы не знаете ширину ваших колонок и хотите найти его динамически, можно базировать его широчайший элемент в #container
используя что-то вроде код приводится здесь: https://stackoverflow.com/a/8853777/1786459
Например: http://jsfiddle.net/cUcFd/24/
var column_width = Math.max.apply(null,$('#container .block').map(function(){return $(this).outerWidth(true);}).get());
Однако вам будет необходимо определить наиболее подходящий способ установки ширины столбца.
OP, вы нашли решение еще? –