<style>
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 10px;
}
/* firefox용. about:config에서 layout.css.grid-template-masonry-value.enabled를 true로 해야 동작함 */
@supports (grid-template-rows: masonry) {
.grid {
grid-template-rows: masonry;
}
}
/* 사파리는 정식지원, chrome은 chrome://flags 에서 CSS Grid Lanes Layout를 enabled로 바꿔야 동작함 */
@supports (display: grid-lanes) {
.grid {
display: grid-lanes;
}
}
.item {
background-color: pink;
height: 100px;
}
.item.wide {
grid-column: span 2;
}
.item.tall {
height: 150px;
}
.item.tall2 {
height: 200px;
}
</style>
<div class="grid">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item tall2 wide">6</div>
<div class="item wide">7</div>
<div class="item">8</div>
<div class="item">9</div>
<div class="item tall">10</div>
</div>