Layout modes
Isotope can position items with different layout modes. Set and change the layout mode with the layoutMode
option.
Layout mode options
Layout modes can have their own separate options. These are set in a corresponding object within the options.
var $grid = $('.grid').isotope({
// main isotope options
itemSelector: '.grid-item',
// set layoutMode
layoutMode: 'cellsByRow',
// options for cellsByRow layout mode
cellsByRow: {
columnWidth: 200,
rowHeight: 150
},
// options for masonry layout mode
masonry: {
columnWidth: '.grid-sizer'
}
})
Horizontal layouts
Horizontal layout modes (masonryHorizontal, fitColumns, cellsByColumn, and horiz) need a container that has a height value. Be sure that your CSS has height set.
#container {
/* either of these will work for horizontal Isotope layouts */
height: 80%;
height: 480px;
}
Included layout modes
masonry
, fitRows
, and vertical
are included in Isotope by default. All other layout modes need to installed separately.
Layout modes
masonry
The default layout mode. Items are arranged in a vertically cascading grid.
masonry: {
columnWidth: 50
}
fitRows
Items are arranged into rows. Rows progress vertically. Similar to what you would expect from a layout that uses CSS floats. fitRows works well for items that have the same height.
layoutMode: 'fitRows'
vertical
Items are stacked vertically.
layoutMode: 'vertical'
packery
The packery
layout mode uses a bin-packing algorithm. This is a fancy way of saying “it fills empty gaps.” It works similarly to masonry
, except gaps will be filled.
layoutMode: 'packery'
cellsByRow
A vertical grid layout where items are centered inside each cell. The grid is defined by columnWidth
and rowHeight
options.
layoutMode: 'cellsByRow',
cellsByRow: {
columnWidth: 110,
rowHeight: 110
}
masonryHorizontal
Horizontal version of masonry. Items are arranged in a horizontally cascading grid.
See masonryHorizontal
layout mode.
layoutMode: 'masonryHorizontal',
masonryHorizontal: {
rowHeight: 50
}
fitColumns
Items are arranged into columns. Columns progress horizontally.
fitColumns
works well with items that have the same width.
layoutMode: 'fitColumns'
cellsByColumn
A horizontal grid layout where items are centered inside each cell. The grid is defined by columnWidth
and rowHeight
options.
See cellsByColumn
layout mode.
layoutMode: 'cellsByColumn',
cellsByColumn: {
columnWidth: 110,
rowHeight: 110
}
horiz
Items are arranged horizontally.
layoutMode: 'horiz'