Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save beausmith/4760823 to your computer and use it in GitHub Desktop.

Select an option

Save beausmith/4760823 to your computer and use it in GitHub Desktop.
Isotope with Centered Masonry and Masonry Gutters.
$(function() {
// Tweaked from: https://gist.github.com/mattstauffer/3835881
// No guarantees
// 1. include Isotope.js
// 2. include this file
// 3. customize Isotope options at the bottom of this file
// 4. add "margin: 0 auto" to the isotope container
$.Isotope.prototype._getMasonryGutterColumns = function() {
var gutter = this.options.masonry.gutterWidth || 0;
containerWidth = this.element.parent().width();
this.masonry.columnWidth = this.options && this.options.masonry.columnWidth ||
this.$filteredAtoms.outerWidth(true) ||
containerWidth;
this.masonry.columnWidth += gutter;
this.masonry.cols = Math.floor(containerWidth / this.masonry.columnWidth);
this.masonry.cols = Math.max(this.masonry.cols, 1);
};
$.Isotope.prototype._masonryReset = function() {
this.masonry = {};
this._getMasonryGutterColumns();
var i = this.masonry.cols;
this.masonry.colYs = [];
while (i--) {
this.masonry.colYs.push( 0 );
}
};
$.Isotope.prototype._masonryResizeChanged = function() {
var prevColCount = this.masonry.cols;
this._getMasonryGutterColumns();
return ( this.masonry.cols !== prevColCount );
};
$.Isotope.prototype._masonryGetContainerSize = function() {
var gutter = this.options.masonry.gutterWidth || 0;
var unusedCols = 0,
i = this.masonry.cols;
while ( --i ) {
if ( this.masonry.colYs[i] !== 0 ) {
break;
}
unusedCols++;
}
return {
height : Math.max.apply( Math, this.masonry.colYs ),
width : ((this.masonry.cols - unusedCols) * this.masonry.columnWidth) - gutter
};
};
$('.container').isotope({
masonry: {
columnWidth: 100,
gutterWidth: 5
}
});
});
@rpearce

rpearce commented Mar 25, 2013

Copy link
Copy Markdown

Thanks for this.

ghost commented Jul 5, 2013

Copy link
Copy Markdown

This is great. Thanks!

@jfcartier

Copy link
Copy Markdown

Thanks!!!! SOOOOOO helpful!

@AdieH

AdieH commented Oct 18, 2013

Copy link
Copy Markdown

Thanks a lot. Really helpful indeed.

Has anyone managed to combine this code with filtering? Not having any luck whatsoever.

http://www.playground.neonsolutions.com.au/neongroup/events/

@tc33

tc33 commented Feb 25, 2014

Copy link
Copy Markdown

This was very helpful thanks. I've forked to fix the gutter calculation though, there should be one less gutter than columns - https://gist.github.com/tc33/9215078

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment