.container {
display: grid;
}
grid-template-columns: 200px 200px 500px;
grid-template-columns: 1fr 1fr 1fr;
/*위 예제는 아이템들이 3개의 열을 형성한다고 가정한 것이다.*/
/*fr은 fraction으로 1:1:1로 나누겠다는 뜻. 플러터에서 Flex위젯과 비슷하다고 생각이 든다.*/
grid-template-columns: 100px 2fr 1fr;
/*이렇게도 사용 가능하다.*/
.container {
grid-template-columns: repeat(5, 1fr);
/* grid-template-columns: 1fr 1fr 1fr 1fr 1fr */
/*repeat(반복횟수, 반복값)*/
}
.container {
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, minmax(100px, auto));
/*최소 100px 최대는 자동으로 늘어나게*/
}
.container {
row-gap: 10px;
/* row의 간격을 10px로 */
column-gap: 20px;
/* column의 간격을 20px로 */
}
.container {
row-gap: 1rem;
column-gap: 2rem;
}
.container {
gap: 10px 20px;
/* row-gap: 10px; column-gap: 20px; */
}
.container {
gap: 20px;
/* row-gap: 20px; column-gap: 20px; */
}
.container {
align-items: stretch;
/* align-items: start; */
/* align-items: center; */
/* align-items: end; */
justify-items: stretch;
/* justify-items: start; */
/* justify-items: center; */
/* justify-items: end; */
}
.container {
place-items: center start;
}
.item {
align-self: stretch;
/* align-self: start; */
/* align-self: center; */
/* align-self: end; */
justify-self: stretch;
/* justify-self: start; */
/* justify-self: center; */
/* justify-self: end; */
}
.item {
place-self: start center;
}
.container {
grid-template-areas:
"header header header"
" a main b "
" . . . "
"footer footer footer";
/* 빈칸은 마침표 또는 “none”을 사용하면 되고, 마침표의 개수는 여러개를 써도 상관 없다*/
}
.header { grid-area: header; }
.sidebar-a { grid-area: a; }
.main-content { grid-area: main; }
.sidebar-b { grid-area: b; }
.footer { grid-area: footer; }
/* 이름 값에 따옴표가 없는 것에 주의*/
.item:nth-child(1) {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
.item:nth-child(1) {
grid-column: 1 / 3;
grid-row: 1 / 2;
}
위 코드들은 같은 코드이다.
출처
https://studiomeal.com/archives/533
https://www.youtube.com/watch?v=uBSbPq_bJFs&list=PL-eeIUD86IjTH1qT8qdHXDm-FfOnm7a_U&index=24