HTML, CSS
실전 예제 – Grid로 반응형 카드형 갤러리 만들기
jonbeo
2025. 6. 9. 10:15
반응형
이제까지 Grid의 핵심 속성들과 고급 기능들을 배워봤다면,
이번엔 그걸 활용해서 반응형 카드 갤러리 레이아웃을 직접 만들어볼 차례예요!
auto-fit + minmax + gap + grid-template-columns
이 조합으로 깔끔하고 유연한 그리드 레이아웃을 완성할 수 있어요.
✅ 목표 레이아웃
- 가로폭이 넓을 땐 4~5열 카드
- 좁아지면 자동으로 3열 → 2열 → 1열로 유연하게 변신
- 카드 간격은 gap, 크기는 minmax()로 관리
🧱 HTML 구조
<div class="gallery">
<div class="card">1</div>
<div class="card">2</div>
<div class="card">3</div>
<div class="card">4</div>
<div class="card">5</div>
<div class="card">6</div>
</div>
🎨 CSS 스타일
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
padding: 20px;
}
.card {
background: #ffe4b5;
padding: 40px 20px;
text-align: center;
border-radius: 10px;
font-size: 1.2rem;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
🧠 속성 설명 복습
속성 | 설명 |
repeat(auto-fit, minmax(220px, 1fr)) | 카드가 줄어들면 자동으로 줄바꿈 |
gap | 카드 간의 간격 |
1fr | 남는 공간을 균등 분배 |
minmax() | 최소 크기를 보장하면서 유동적으로 확장 |
✅ 이 레이아웃의 장점
- 미디어쿼리 없이 반응형 완성
- 갤러리, 블로그 카드, 상품 리스트에 다 활용 가능
- 간단한 구조 + 시각적 정돈
반응형