I'm trying to combine a Masonry Layout whilst using the grid-system in Bootstrap 4. I want to achieve the following:
- Two column Masonry layout when in XS devices
- Three column Masonry layout when in SM devices
- Four column Masonry layout when in MD devices
- Six column Masonry layout when in XL devices
I'm trying this code and combinations thereof:
<div class="container">
<div class="row card-columns">
<div class="col-6 col-sm-4 col-md-3 col-xl-2 card">
<div class="card-body">Top<br><br><br>Bottom</div>
</div>
<div class="col-6 col-sm-4 col-md-3 col-xl-2 card">
<div class="card-body">Top<br>Bottom</div>
</div>
<div class="col-6 col-sm-4 col-md-3 col-xl-2 card ">
<div class="card-body">Top<br><br>Bottom</div>
</div>
<div class="col-6 col-sm-4 col-md-3 col-xl-2 card">
<div class="card-body">Top & Bottom</div>
</div>
</div>
</div>
I assume it fails because class row and card-columns can't probably be used together. Bootstrap documentation reads:
Cards are built with CSS column properties instead of flexbox for easier alignment.
Nesting the card divs in a card-columns div inside the row div doesn't work either. Any ideas are appreciated.