What is masonry?
Masonry is a specific way of placing elements so they fill all available space inside structural columns. Instead of strict rows, items stack vertically and “flow” into gaps.
Component location
Files are located in src/components/layout/masonry.
Inside you’ll find:
- JS file with base settings and filtering logic.
- HTML example snippet.
- SCSS file for styling the grid and filter UI.
Basic usage
To enable the component, add data-anim-masonry to the masonry container,
and data-anim-masonry-item to each item. JS will connect automatically.
<div data-anim-masonry class="masonry">
<div data-anim-masonry-item class="masonry__item">A</div>
<div data-anim-masonry-item class="masonry__item">B</div>
<div data-anim-masonry-item class="masonry__item">C</div>
</div>
Masonry with filtering
If you need filtering, create a filter list and add
data-anim-masonry-filter-link to each link.
For items, add data-anim-masonry-filter with the filter key.
<div class="masonry">
<ul class="masonry__filter filter-masonry">
<li class="filter-masonry__item">
<a href="#" data-anim-masonry-filter-link="*" class="filter-masonry__link">All</a>
</li>
<li class="filter-masonry__item">
<a href="#" data-anim-masonry-filter-link="a" class="filter-masonry__link">Filter A</a>
</li>
<li class="filter-masonry__item">
<a href="#" data-anim-masonry-filter-link="b" class="filter-masonry__link">Filter B</a>
</li>
<li class="filter-masonry__item">
<a href="#" data-anim-masonry-filter-link="c" class="filter-masonry__link">Filter C</a>
</li>
</ul>
<div data-anim-masonry class="masonry__items">
<div data-anim-masonry-item data-anim-masonry-filter="a" class="masonry__item">A</div>
<div data-anim-masonry-item data-anim-masonry-filter="b" class="masonry__item">B</div>
<div data-anim-masonry-item data-anim-masonry-filter="c" class="masonry__item">C</div>
</div>
</div>
Download
Build masonry layouts with filtering and a clean component structure. Download the template and start shipping faster.