Grid layout
✒️ 2025-05-16 12:37 내용 수정
- 테이블처럼 행(row)과 열(column)으로 구성된 화면을 구성하는 레이아웃 방식이다.
- 참고 자료 : mdn web docs grid layout, W3Schools CSS Grid, 1분코딩 Grid
<div>태그에display:grid나display:inline-grid로 설정하면 그리드 컨테이너를 만들 수 있다.
div {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 30px;
width: 600px;
height: 400px;
border: 2px solid black;
padding: 30px;
}
#item1{
grid-column: 1 / 4;
background-color: yellow;
}
#item4{
grid-row: 2 / 4;
background-color: pink;
}
Grid Layout 구성
- 1분코딩 Grid의 이미지를 참고했다.

Grid Layout 속성
- Grid Container 관련 속성
- grid layout에서
fr는 컨테이너 내의 남은 공간을 비례적으로 나누는 단위다. repeat(n, x):n을x번 반복하는 함수다.minmax(min, max): 최솟값과 최대값을 지정할 수 있는 함수다.
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
/* grid-template-columns: (3, 1fr);과 동일 */
grid-template-rows: repeat(2, minmax(100px, auto));
}
| 속성 이름 | 명사형 설명 |
|---|---|
display: grid |
그리드 컨테이너 설정 |
grid |
grid-template 속성들과 grid-auto 속성들을 지정하는 축약 속성 |
grid-template-columns |
그리드 레이아웃 내의 열의 개수와 사이즈 지정auto-fit과 auto-fill로 설정된 너비가 허용하는 최대 셀을 채우도록 지정할 수 있음 |
grid-template-rows |
그리드 레이아웃 내의 행의 개수와 사이즈 지정 |
grid-template-areas |
행과 열 배치 지정 각 그리드 영역에 이름을 붙이고, 이름에 따른 css 설정을 지정할 수 있음 |
grid-auto-rows |
행의 사이즈를 자동으로 지정 |
grid-auto-columns |
열의 사이즈를 자동으로 지정 |
grid-auto-flow |
자동 배치 방향 및 순서 지정 |
gap |
행과 열 사이의 간격 지정 |
row-gap |
행 사이의 간격 지정 |
column-gap |
열 사이의 간격 지정 |
justify-content |
컨테이너 내의 전체 그리드의 수평 정렬 지정 |
align-content |
컨테이너 내의 전체 그리드의 수직 정렬 설정 |
place-content |
수직 및 수평 정렬 방식의 단축 표현 |
- Grid Item 관련 속성
| 속성 이름 | 명사형 설명 |
|---|---|
grid-column |
열 위치 및 열 병합 지정1 / 4 : 1열부터 3열까지 |
grid-row |
행 위치 및 행 병합 지정1 / 3 : 1행부터 2행까지 |
grid-area |
명명된 영역 또는 영역 병합 지정 |
justify-self |
특정 그리드 아이템의 수평 정렬 방식 지정 |
align-self |
특정 그리드 아이템의 수직 정렬 방식 지정 |
place-self |
justify-self와 align-self의 단축 표현 |
justify-items |
모든 아이템의 수평 정렬 방식 지정 |
align-items |
그리드 내의 모든 아이템의 수직 정렬 방식 지정 |
place-items |
justify-items와 align-items의 단축 표현 |