HTML/CSS/레이아웃/Lesson 09
CSS Grid — *2차원* 레이아웃
1시간 30분·theory
이 챕터
2/2
CSS Grid — *2차원* 레이아웃
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ grid-template-columns: repeat(auto-fit, minmax()) 패턴
- ▸✅ grid-area + named line 으로 12-col 레이아웃
- ▸✅ Flex 와 Grid 의 언제 무엇을 쓸지
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
Grid 가 뭐냐
핵심 한 줄
CSS Grid = 행과 열 (2차원) 로 레이아웃을 구성하는 도구. Flexbox 가 한 줄 정렬이라면, Grid 는 바둑판 같은 격자 구조.
언제 Grid 쓰나
- ▸카드 그리드 (3열 4행)
- ▸페이지 전체 레이아웃 (헤더·사이드·메인·푸터)
- ▸잡지·신문 같은 복잡한 레이아웃
- ▸표 (table 보다 flexible)
한 줄 정렬은 Flexbox, 2차원은 Grid. 둘이 공존 합니다.
기본 사용
3열 그리드, 2행으로 자동 배치.
fr — Fractional Unit
fr = 남은 공간의 1 단위. 픽셀이 아닌 비율. 화면 크기 변화에도 비율 유지.
repeat — 반복 단축
auto-fill + minmax 가 반응형 그리드의 마법 — 화면 너비에 따라 알아서 1열·2열·3열... 조정.
영역 이름 지정
레이아웃이 눈에 그려집니다. 페이지 전체 구조에 압도적으로 좋음.
Grid 항목 단독 배치
특정 카드를 더 크게 만들 때. 이런 불규칙 레이아웃 은 Flexbox 로 어렵습니다.
Flexbox vs Grid
대부분 둘 다 함께 씁니다. 큰 레이아웃은 Grid, 그 안의 작은 컴포넌트는 Flexbox.
한 번 정리
- ▸
display: grid+grid-template-columns+gap로 시작 - ▸
repeat(auto-fill, minmax(200px, 1fr))= 반응형 카드 그리드 - ▸
grid-template-areas로 페이지 전체 레이아웃 - ▸Flexbox 와 함께 사용
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 카드 리스트를 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) 로 만들어줘"
- ▸"이 12-column 레이아웃을 CSS Grid 로 변환해줘"
- ▸"이 grid 의 gap, 명시적 area 배치 추가해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: Flexbox 완전 정복
다음 추천: 미디어 쿼리