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
Copy link
Copy Markdown

rpearce commented Mar 25, 2013

Thanks for this.

Copy link
Copy Markdown

ghost commented Jul 5, 2013

This is great. Thanks!

@jfcartier
Copy link
Copy Markdown

Thanks!!!! SOOOOOO helpful!

@AdieH
Copy link
Copy Markdown

AdieH commented Oct 18, 2013

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
Copy link
Copy Markdown

tc33 commented Feb 25, 2014

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