퍼블리싱-7
Grid
flex가 1차원의 정렬이었다면 그리드는 2차원의 정렬 속성이다.
그리드 또한 flex와 마찬가지로 container 정의와 items 정의가 나누어 진다.
grid-container property
그리드를 사용할 때 먼저 행과 열을 지정한다.
.container{
border: 4px solid;
display:grid;
/* 열의 개수와 너비 */
grid-template-columns: repeat(3,1fr);
/* 행의 개수와 너비 */
grid-template-rows: repeat(3,100px)
/* cell의 확장으로 인해 영향받는 cell을 관리하기 위한 속성 */
grid-auto-rows: 100px;
/* 배치하지 않은 아이템을 어떤 방식의
자동 배치 알고리즘으로 처리할 지 정의한다. */
grid-auto-flow: row dense;
/* xxx-gap의 단축속성 */
gap : 10px;
}
fr
: fractional unit
Track
: 하나의 행 혹은 열을 의미한다.
Gutter
: Track과 Track 사이에 있는 간격이다.
Cell
: 아이템이 배치되는 최소 단위의 영역이다.
Area
: 하나 이상의 Cell로 이루어진 영역이다.
grid-items
.item:nth-child(2) {
grid-column: 3 / 4;
grid-row: 2 / 4;
}
grid의 column,row 방향으로 cell을 확장하게 만들 수 있다. span은 cell의 단위이다.
.item:nth-child(2) {
grid-column: span 2;
grid-row: span 2;
}
order
그리드 아이템의 순서를 지정한다.
order의 숫자가 작을수록 앞에 배치된다.
.item:nth-child(6) {
order: -1;
}
grid-template-areas
영역의 이름을 참조하여 grid-template을 작성한다.
grid-template-areas:
"header header"
" main aside"
"footer footer";
}
.item{
border : 1px solid;
}
.item:nth-child(1){
grid-area: header;
}
.item:nth-child(2){
grid-area: main;
}
.item:nth-child(3){
grid-area: aside;
}
.item:nth-child(4){
grid-area: footer;
}
.container{
// min-max(최소너비,최대너비)
// min-max는 container의 크기에 영향을 받지 않는다.
grid-template-columns: repeat(4,minmax(120px,1fr));
}
auto-fill
: 컨테이너의 크기가 충분하지 않다면 아이템을 자동으로 줄바꿈 처리하여 그에 맞게 행/열도 수정한다.
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
auto-fill
과 auto-fit
의 차이
auto-fill
같은 경우 남는 공간이 있는 경우 남는 공간을 유지함.
auto-fit
은 남는 공간이 있는 경우 자동으로 차지한다.
Author And Source
이 문제에 관하여(퍼블리싱-7), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tchaikovsky/퍼블리싱-7저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)