Warum es nicht funktioniert
fitColumns
ist ein „horizontales Layout“ einstellen möchten, so ist es beabsichtigt, zur Seite zu gehen, anstatt nach oben und unten - ähnlich wie ein Side-Scroller-Spiel. Aufgrund ihrer Konstruktion erfordern horizontale Layouts eine Höhe Attribut, wie hier dokumentiert: http://isotope.metafizzy.co/layout-modes.html#horizontal-layouts
Statische Lösung
ich die Breite des Behälters mit jedoch viele Spalten passen füllen wollen, und ich will es so viel vertikalen Raum einnehmen wie nötig.
Sie möchten masonry
anstelle von fitColumns
verwenden. Wenn Sie columnWidth
einstellen, können Sie die Breite des Containers ausfüllen und so viel vertikalen Platz wie nötig nutzen. Zum Beispiel: http://jsfiddle.net/cUcFd/22/
$('#container').isotope({
itemSelector : '.block',
// layoutMode: 'fitColumns',
layoutMode: 'masonry',
masonry: {
columnWidth: 100
}
});
Dynamic Solution
Vorausgesetzt, dass Sie nicht über die Breite der Spalten kennen und sie wollen dynamisch finden, können Sie es stützen das breiteste Element in #container
mit so etwas wie weg der Code hier zu finden: https://stackoverflow.com/a/8853777/1786459
Zum Beispiel: http://jsfiddle.net/cUcFd/24/
var column_width = Math.max.apply(null,$('#container .block').map(function(){return $(this).outerWidth(true);}).get());
Es liegt jedoch an Ihnen, die am besten geeignete Methode zum Einstellen der Spaltenbreite zu bestimmen.
OP, haben Sie schon Lösungen gefunden? –