Grid Container
grid layout의 전체 영역을 말한다.
Grid Line
Grid 셀을 구분하는 라인(가로, 세로 선)
Grid Track
Grid 라인의 각 행 혹은 열을 나타낸다.
Grid Cell
Grid 라인의 하나의 셀(칸)을 나타낸다.
Grid Area
Grid 라인으로 둘러싸인 영역으로, Grid Cell의 집합을 나타낸다.
auto-fill, auto-fit은 repeat함수와 함께 사용되며, column의 개수를 미리 정하지 않고, 설정된 크기가 허용되는 한 최대한 Grid-Cell을 채운다.
.cf) Grid Track 의 이름은 사용자가 임의로 설정한 Linename([name])을 사용할 수도 있다.
ex)
.container {
grid-template-rows: [row-1] 100px [rows-1-end row-2-start] 30% [row-2-end];
}
Justify Content, Align Items, Order 관련 내용은 flexbox와 거의 동일하니
https://velog.io/@geun99/CSS-Flexbox CSS FLEX 박스
글을 참조하자.
Grid-template-area와 Grid-area를 이용해서 그리드를 정의할 수 있다.
ex)
다음과 같은 Grid 레이아웃을 만들기 위해서는
.container {
background: rgb(34, 34, 34);
padding: 20px;
height: 100vh;
display: grid;
grid-template-columns: repeat(5, 100px);
grid-template-rows: repeat(5, 100px);
grid-gap: 10px;
grid-template-areas:
"h h h h"
"m m m m"
"m m m m"
"s s . a"
"f f f f";
}
header {
grid-area : h
}
main {
grid-area : m
}
section {
grid-area : s
}
aside {
grid-area : a
}
header {
grid-area : h
}
다음과 같이 grid-template-area와 grid-area를 적용해주면 된다.
https://cssgridgarden.com/#ko Grid Layout을 연습하기 좋은 사이트이다.