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
    }
});
    });