grid란 ?

임홍렬·2022년 4월 30일
0

grid 란

수평선과 수직선이 교차해서 이루어진 집합체이다.
하나의 집합체는 세로 열을 그리고 다른 하나는 가로 행을 정의합니다.
각 요소는 이러한 열과 행으로 된 라인으로 배치할 수 있다.

-원하는 레이아웃에 맞도록 px을 이용해서 트랙 크기를 고정시킬 수 있다.
-fr을 지정해 좀 더 유연한 성질의 그리드를 만들 수도 있다.

-아이템은 라인 번호, 이름 또는 그리드 영역을 지정해서 그리드의 정확한 위치에 배치할 수 있습니다.
-콘텐츠에 대응하여 필요에 따라 행과 열을 추가할 수 있다.
-그리드에는 정렬 기능이 있어서 그리드 영역에 어떻게 정렬할지 전체 그리드가 정렬되는 방식을 제어할 수 있다.
-그리드셀에 하나 이상의 아이템을 배치하거나 그리드 영역을 부분적으로 서로 겹치게 할 수 있다.(우선 순위는 z-index로 제어할 수 있다.)
-그리드컨테이너는 display: grid 또는 display: inline-grid를 선언하여 만듭니다.

-그리드의 행과 열은 grid-template-columns (en-US) 및 grid-template-rows (en-US) 프로퍼티로 정의
-1fr 1fr 1fr: fr 단위는 그리드 컨테이너에 남아 있는 사용 가능한 공간의 일정 비율을 나타냅니다. 다음에 정의된 그리드에서는 남아 있는 공간에 따라 확장 및 축소되는 같은 너비의 트랙 3개를 생성합니다.

-repeat은 많은 트랙을 포함하는 커다란 그리드는 repeat() 표기법을 사용하여 트랙의 전체 또는 일부분을 반복해서 나열해 줄 수 있다.

-가로 행은 그리드가 콘텐츠에 맞게 알아서 새로운 행을 만들도록 했습니다. 이렇게 만들어진 행은 잠재적 그리드 안에서 생성된다.

-minmax: 가로 행의 높이가 100픽셀 밑으로 줄어드는 것은 막고 싶지만, 콘텐츠가 300픽셀 높이까지 늘어나면 그에 따라 행의 높이도 같이 늘어나길 원할 때가 있다.

-그리드라인 그리드를 정의할때 라인이 아닌 그리드 트랙을 정의한다.

-display

그리드 컨테이너(Container)를 정의

grid-template-rows

명시적 행(Track)의 크기를 정의

grid-template-columns

명시적 열(Track)의 크기를 정의

grid-template-areas

이름을 참조해 템플릿 생성

grid-template

grid-template-xxx의 단축 속성

row-gap(grid-row-gap)

행과 행 사이의 간격(Line)을 정의

column-gap(grid-column-gap)

열과 열 사이의 간격(Line)을 정의

gap(grid-gap)

xxx-gap의 단축 속성

grid-auto-rows

트랙의 크기를 정의

grid-auto-columns

암시적인 열(Track)의 크기를 정의

grid-auto-flow

자동 배치 알고리즘 방식을 정의

align-content

그리드 콘텐츠(Grid Contents)를 수직(열 축) 정렬

justify-content

그리드 콘텐츠를 수평(행 축) 정렬

place-content

align-content와 justify-content의 단축 속성

align-items

그리드 아이템(Items)들을 수직(열 축) 정렬

justify-items

그리드 아이템들을 수평(행 축) 정렬

place-items

align-items와 justify-items의 단축 속성

display

그리드 컨테이너(Container)를 정의

grid-template-rows

명시적 행(Track)의 크기를 정의

grid-template-columns

명시적 열(Track)의 크기를 정의

grid-template-areas

이름을 참조해 템플릿 생성

grid-template

grid-template-xxx의 단축 속성

row-gap(grid-row-gap)

행과 행 사이의 간격(Line)을 정의

column-gap(grid-column-gap)

열과 열 사이의 간격(Line)을 정의

gap(grid-gap)

xxx-gap의 단축 속성

grid-auto-rows

트랙의 크기를 정의

grid-auto-columns

암시적인 열(Track)의 크기를 정의

grid-auto-flow

아이템이 자동 배치되는 흐름을 결정

row : 아이템을 왼쪽부터 오른쪽으로 채우고 많으면 다음 행으로 넘어간다.
column : 위에서 아래로 채우고 많으면 다음 열로 넘어간다.
dense : 기본형

align-content

그리드 콘텐츠(Grid Contents)를 수직(열 축) 정렬

start : 상단 좌측에 정렬한다.
end : 하단 좌측에 정렬한다.
center : 중앙 좌측에 정렬한다.
space-around : 각 열의 상하 여백을 동일하게 정렬한다.
space-between : 첫 행은 상단에, 마지막 행은 하단에, 나머지는 고르게 정렬한다.
space-evenly : 상하 모든 여백을 고르게
stretch : 상하로 늘려

justify-content

그리드 콘텐츠를 수평(행 축) 정렬

start : 좌측 상단에 정렬한다.
end : 우측 상단에 정렬한다.
center : 중앙 상단에 정렬한다.
space-around : 각 열의 좌우 여백을 동일하게 정렬한다.
space-between : 시작점을 좌측, 끝점을 우측, 나머지 고르게 정렬한다.
space-evenly : 모든 여백을 고르게
stretch : normal과 동일하며 가로 축을 가득 채우기 위해 그리드를 늘린다.

place-content

align-content와 justify-content의 단축 속성

align-items

그리드 아이템(Items)들을 수직(열 축) 정렬

start : 상단 좌측에 정렬한다.
end : 하단 좌측에 정렬한다.
center : 중앙 좌측에 정렬한다.
stretch : 세로축을 가득 채운다.

justify-items

그리드 아이템들을 수평(행 축) 정렬

start : 아이템들을 그리드 위, 왼쪽으로 각각 정렬
end : 아이템들을 그리드 위, 오른쪽으로 각각 정렬
center : 위 중앙에 정렬
stretch : width를 채우기

place-items

align-items와 justify-items의 단축 속성

align-self

개별 아이템 세로 정렬

start : 왼쪽 위
end : 왼쪽 아래
center : 왼쪽 중앙
stretch : 늘리기

justify-self

개별 아이템 가로 정렬

start : 왼쪽 위
end : 왼쪽 아래
center : 왼쪽 중앙
stretch : 늘리기

place-self : align-self 와 justify-self 를 같이 쓸 수 있는 속성

order : 배치순서

z-index : z축 정렬

profile
뜨내기 FE 개발자

0개의 댓글