JSFiddle - React, Tailwind, and code Playground
by mukkaram waheed
HTML
<script src="http://isotope.metafizzy.co/jquery.isotope.min.js"></script>
<script src="https://rawgithub.com/desandro/imagesloaded/master/jquery.imagesloaded.js"></script>
<body>
<div id="main-grid">
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
<div class="grid-block">
<div class="block-text">test</div>
</div>
</div>
</body>
CSS
#main-grid {
width: auto;
margin: 0 auto;
position: absolute;
}
.grid-block {
display: table;
vertical-align: middle;
text-align: center;
width: 100px;
height: 100px;
margin-left: 3px;
margin-right: 3px;
margin-bottom: 9px;
background-color: silver;
}
.grid-block:nth-of-type(3n+2){
border-left: 1px solid;
border-right: 1px solid;
}
.block-text {
display: table-cell;
vertical-align: middle;
width: 100%;
height: 100%;
}
/* ISOTOPE TRANSITIONS */
.isotope-item {
z-index: 2;
}
.isotope-hidden.isotope-item {
z-index: 1;
}
.isotope,
.isotope .isotope-item {
/* change duration value to whatever you like */
-webkit-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
-ms-transition-duration: 0.5s;
-o-transition-duration: 0.5s;
transition-duration: 0.5s;
}
.isotope {
-webkit-transition-property: height, width;
-moz-transition-property: height, width;
-ms-transition-property: height, width;
-o-transition-property: height, width;
transition-property: height, width;
}
.isotope .isotope-item {
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
-ms-transition-property: -ms-transform, opacity;
-o-transition-property: -o-transform, opacity;
transition-property: transform, opacity;
}
/**** disabling Isotope CSS3 transitions ****/
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
-webkit-transition-duration: 0s;
-moz-transition-duration: 0s;
-ms-transition-duration: 0s;
-o-transition-duration: 0s;
transition-duration: 0s;
}
JavaScript
var jQuerycontainer = jQuery('#main-grid');
jQuerycontainer.imagesLoaded( function(){
jQuerycontainer.isotope({
itemSelector: '.grid-block',
animationEngine: 'best-available',
masonry: {
columnWidth: 4
}
});
});