Tiny Masonry Grid Layout Plugin In JavaScript - Colcade.js
| File Size: | 11.2 KB |
|---|---|
| Views Total: | 2946 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
Colcade.js is the minimal version of the famous Masonry plugin that helps developers generate responsive, fluid, blazing fast grid layout in jQuery or Vanilla JavaScript.
How to use it:
1. Insert columns and items to the grid layout as follows:
<div class="grid"> <div class="grid-col grid-col--1"></div> <div class="grid-col grid-col--2"></div> <div class="grid-col grid-col--3"></div> <div class="grid-col grid-col--4"></div> <div class="grid-item grid-item--a"></div> <div class="grid-item grid-item--b"></div> <div class="grid-item grid-item--c"></div> <div class="grid-item grid-item--d"></div> ... </div>
2. Download and insert the Colcade.js library into the document. jQuery is optional.
<!-- <script src="jquery.min.js"></script> --> <script src="./colcade.js"></script>
3. Code the CSS to size the grid columns.
.grid:after {
display: block;
content: '';
clear: both;
}
.grid-col {
float: left;
width: 49%;
margin-right: 2%;
background: #DDD;
}
.grid-col--4 { margin-right: 0; }
/* hide two middle */
.grid-col--2, .grid-col--3 { display: none; }
@media ( min-width: 768px ) {
.grid-col { width: 32%; }
.grid-col--2 { display: block; }
}
@media ( min-width: 1200px ) {
.grid-col { width: 23.5%; }
.grid-col--2, .grid-col--3 { display: block; }
}
/* or using CSS flexbox */
.grid {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.grid-col {
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
}
.grid-col--2, .grid-col--3 { display: none }
@media ( min-width: 768px ) {
.grid-col--2 { display: block; }
}
@media ( min-width: 1200px ) {
.grid-col--3 { display: block; }
}
4. Initialize the Colcade.js plugin and done.
// jQuery
$('.grid').colcade({
columns: '.grid-col',
items: '.grid-item'
})
// Vanilla JavaScript
var instance = new Colcade( '.grid', {
columns: '.grid-col',
items: '.grid-item'
});
5. You can also initialize the Colcade.js via HTML data attribute. Without any JS call.
<div class="grid" data-colcade="columns: .grid-col, items: .grid-item"> ... </div>
6. Possible API methods to create a dynamic Masonry layout. E.g. infinite scroll.
/* Add new items to the grid */ // jQuery $grid.colcade( 'append', items ); // vanilla JS instance.append( items ); /* Prepend items to the grid */ // jQuery $grid.colcade( 'prepend', items ); // vanilla JS instance.prepend( items ); /* Destroy the grid layout */ // jQuery $grid.colcade( 'destroy' ); // vanilla JS instance.destroy();
This awesome jQuery plugin is developed by desandro. For more Advanced Usages, please check the demo page or visit the official website.










