그리드^^
https://studiomeal.com/archives/533 블로그가 본 글을 작성하는 데 큰 도움(거의 100의 지분)이 되었음
.container {
display: grid;
}
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
}
1fr 는 같은 비율로 1fr의 개수만큼 칸을 형성한다.repeat(3, 1fr) 와 동일함200px 1fr 1fr : 맨 왼쪽 칼럼은 200px 유지, 나머지 화면은 1대1로 사이좋게 두 개의 칼럼으로 나눔.container {
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, minmax(100px, auto));
}
row 를 세 줄로 나눌 건데, 아무리 내용이 적어도 최소 100px, 내용이 늘어나면 알아서 커져라.개수를 미리 정하지 않고 설정된 너비가 허용하는 한 최대한 셀을 채움.
후에 필요해지면 다시 찾아서 공부하기. 지금은 패스
gap: 10px 20px; >>> row-gap 10px column-gap 20px
gap: 20px; >>> row-gap 20px column-gap 20px
브라우저 호환 범위를 넓히기 위해 예전에 사용하던 방식인, gap 앞에 grid를 붙이는 것도 함께 쓰기도 한다.
.container {
grid-gap: 20px;
gap: 20px;
}
.container {
grid-template-rows: repeat(3, minmax(100px, auto));
}
.container {
grid-auto-rows: minmax(100px, auto);
}
template 으로 지정해 준 줄의 개수가 없으면, auto가 알아서 처리를 해준다.
개발자 도구의 grid display settings(FireFox기준) 에서 체크박스를 선택하면 볼 수 있다.
.item:nth-child(1) {
grid-column: 1 / 3; >>> 1번에서 start, 3에서 end(총 두 칸)
grid-row: 1 / 2; >>> 1번에서 start, 2에서 end(총 한 칸)
}
.item:nth-child(1) {
/* 1번 라인에서 시작해서 2칸 */
grid-column: 1 / span 2;
/* 1번 라인에서 시작해서 3칸 */
grid-row: 1 / span 3;
}
.container {
grid-template-areas:
"header header header"
" a main b "
" . . . "
"footer footer footer";
}
.header { grid-area: header; }
.sidebar-a { grid-area: a; }
.main-content { grid-area: main; }
.sidebar-b { grid-area: b; }
.footer { grid-area: footer; }
이후엔 공부하면서 그때 그때 작성