이 일곱 번째 예에서는 이미 학습한 개념을 결합하여 자동으로 배치되고 유연한 하위 요소가 있는 반응형 레이아웃을 만듭니다. 정말 깔끔합니다. 여기서 기억해야 할 핵심 용어는 repeat
, auto-(fit|fill)
, minmax()
이며 약어 RAM으로 기억할 수 있습니다.
모두 합치면 다음과 같습니다.
.parent {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
다시 repeat()
를 사용하지만 이번에는 명시적인 숫자 값 대신 auto-fit
키워드를 사용합니다. 이렇게 하면 이러한 하위 요소를 자동으로 배치할 수 있습니다. 이러한 하위 요소는 기본 최솟값 150px
와 최댓값 1fr
입니다. 즉, 작은 화면에서는 전체 1fr
너비를 차지하며 각각 너비 150px
에 도달하면 같은 선으로 흐르기 시작합니다.
auto-fit
의 경우 완전히 비어 있는 트랙은 0
로 축소되고 채워진 트랙이 커져서 공간을 차지합니다. 그러나 이를 auto-fill
로 변경하면 빈 트랙이 채워진 경우와 동일한 공간을 차지합니다.
.parent {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
HTML
<div class="parent white">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
</div>
CSS
.parent {
display: grid;
grid-gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}