CSS 레이아웃(3)
Grid
1. grid 나누기
.container {
display: grid;
grid-template-columns: 100px 300px 100px;
grid-template-rows: 200px 200px 100px;
grid-template:
200px 200px 100px /
100px 300px 100px;
}
2. 유연한 크기와 유용한 함수들
.container {
width: 100%;
display: grid;
grid-template:
200px 200px 100px /
1fr 1fr 1fr;
grid-template:
200px 200px 100px /
minmax(200px, 300px) minmax(200px, 300px) minmax(200px, 1fr);
grid-template:
200px 200px 100px /
repeat(6, minmax(200px, 1fr));
}
3. 간격 넣기
.container {
display: grid;
grid-template:
repeat(3, 1fr) /
repeat(3, 1fr);
gap: 16px;
}
4. 크기 미리 정해두기
.container {
width: 500px;
height: 500px;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 50px 100px 200px;
gap: 16px 32px;
}
5. 그리드 라인

6. 원하는 위치에 요소 배치하기
.container {
width: 500px;
height: 500px;
display: grid;
grid-template:
repeat(4, 1fr) /
repeat(5, 1fr);
gap: 16px;
}
.green {
grid-row: 3;
grid-column: 2;
}
.green {
grid-row: 3 / 5;
grid-column: 2 / -2;
}


7. 이름으로 배치하기
.container {
width: 500px;
height: 500px;
display: grid;
grid-template:
repeat(2, 1fr) /
repeat(2, 1fr);
gap: 16px;
grid-template-areas:
". g"
"r b"
}
.red {
grid-area: r;
}
.green {
grid-area: g;
}
.blue {
grid-area: b;
}
