Masonry
Masonry is a grid layout technique that places elements in an optimal position based on available vertical space, similar to a mason fitting stones in a wall.
Groups
Masonry blocks can be consolidated into groups, allowing for the creation of larger and more complex layout structures, enhancing the overall aesthetic and user experience of a website.
Masonry group 1
1
2
3
4
5
6
7
8
9
10
<div class="masonry masonry-group-2">
<div class="masonry-group-item">
<div class="masonry masonry-vertical-4">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-1">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">4</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">5</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">6</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">7</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-6">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">8</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">9</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">10</div>
</div>
</div>
</div>
</div>
</div>Masonry group 2
1
2
3
4
5
6
7
8
9
10
<div class="masonry masonry-group-2">
<div class="masonry-group-item">
<div class="masonry masonry-vertical-4">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-1">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">4</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">5</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">6</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">7</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-vertical-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">8</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">9</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">10</div>
</div>
</div>
</div>
</div>
</div>Masonry group 3
1
2
3
4
5
6
7
8
<div class="masonry">
<div class="masonry-group-item">
<div class="masonry masonry-horizontal-1">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-horizontal-2">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-horizontal-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">4</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">5</div>
</div>
</div>
</div>
</div>
<div class="masonry-group-item">
<div class="masonry masonry-horizontal-4">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">6</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">7</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">8</div>
</div>
</div>
</div>
</div>
</div>Vertical layouts
Masonry blocks in web design can be grouped in vertical layouts, allowing for dynamic and visually engaging arrangements while optimizing available vertical space.
Vertical layout 1
1
<div class="masonry masonry-vertical-1">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
</div>Vertical layout 2
1
2
<div class="masonry masonry-vertical-2">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
</div>Vertical layout 3
1
2
3
<div class="masonry masonry-vertical-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>Vertical layout 4
1
2
3
<div class="masonry masonry-vertical-4">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>Vertical layout 5
1
2
3
<div class="masonry masonry-vertical-5">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>Vertical layout 6
1
2
3
<div class="masonry masonry-vertical-6">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>Vertical layout 7
1
2
<div class="masonry masonry-vertical-7">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
</div>Vertical layout 8
1
2
3
4
<div class="masonry masonry-vertical-8">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">4</div>
</div>
</div>
</div>Horizontal layouts
Masonry blocks also have the capability to be grouped in horizontal layouts, which can be utilized to create wide, diverse, and visually interesting structures on a webpage.
Horizontal layout 1
1
<div class="masonry masonry-horizontal-1">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
</div>Horizontal layout 2
1
2
<div class="masonry masonry-horizontal-2">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
</div>Horizontal layout 3
1
2
<div class="masonry masonry-horizontal-3">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
</div>Horizontal layout 4
1
2
3
<div class="masonry masonry-horizontal-4">
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">1</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">2</div>
</div>
</div>
<div class="masonry-item">
<div class="wrapper py-5 text-bg-primary">
<div class="wrapper-content text-center">3</div>
</div>
</div>
</div>CSS
Variables
--#{$prefix}masonry-gap: #{$masonry-gap};Sass variables
$masonry-gap: 5px;
$masonry-breakpoint: md;
$masonry-group-breakpoint: xl;