Home grid
Post
X

grid

grid 시스템에 대해 알아보자.


grid

디자인 공간을 일정한 행과 열로 분할하여, 콘텐츠를 체계적이고 일관되게 배치할 수 있도록 돕는 레이아웃 도구입니다.


장점

  • 일관성

    레이아웃의 구조가 명확해져 디자인 전반에 걸쳐 일관된 정렬과 간격을 유지할 수 있습니다.

  • 반응형 디자인

    다양한 화면 크기에 맞춰 열과 행의 비율, 간격 등을 쉽게 조정할 수 있습니다.

  • 유지보수 용이

    레이아웃이 미리 정의된 그리드 구조에 기반하므로, 요소의 추가나 변경이 용이합니다.

  • 디자인 협업

    개발자와 디자이너 간의 커뮤니케이션이 원활해져, 시안에 따른 실제 구현이 더 쉬워집니다.


주요 개념

  • 컨테이너 (Container) : 전체 그리드 레이아웃을 감싸는 부모 요소

  • 행 (Row) : 수평으로 나뉘는 영역

  • 열 (Column) : 수직으로 나뉘는 영역으로, 콘텐츠가 배치되는 기본 단위

  • 트랙 (Tracks) : 행과 열의 집합

  • 셀 (Cells) : 한 행과 한 열이 만나는 교차 영역

  • 간격 (Line) : 행과 열 사이의 간격


grid-template 속성

  • fr (fraction, 공간 비율) 단위 사용 가능
  • repeat() 함수 사용 가능

fr 단위는 가용 공간을 분할하는 단위입니다.
grid-template-columns: 1fr 2fr;이라고 지정하면, 전체 가용 공간을 3개의 동일한 부분으로 나누고 첫 번째 열은 그 중 1개, 두 번째 열은 2개의 비율만큼 공간을 차지하게 됩니다.


  • grid-template-rows : 명시적 행(Row)의 크기를 정의
  • grid-template-columns : 명시적 열(Column)의 크기를 정의
  • grid-template : 단축 속성
1
2
3
4
5
6
7
8
.container {
  width: 400px;
  display: grid;
  grid-template-rows: repeat(3, 100px);
  grid-template-columns: repeat(3, 1fr);

  /* grid-template :  repeat(3, 100px), repeat(3, 1fr); 로 사용 가능*/
}

grid-template-01


gap 속성


  • row-gap 행과 행 사이의 간격 (Line)을 정의
  • column-gap 열과 열 사이의 간격 (Line)을 정의
  • gap 단축 속성
1
2
3
4
5
6
.container {
  display: grid;
  grid-template-rows: repeat(2, 150px);
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 10px;
}

grid-gap-01


place-content 속성

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

하나의 값만 입력하면 두 속성에 모두 적용됩니다.

  • align-content : 그리드 컨테이너 (Container) 수직(열 축) 정렬
  • justify-content : 그리드 컨테이너 (Container) 수평(행 축) 정렬

  • start : 시작점(위쪽) 정렬
  • center : 수직 가운데 정렬
  • end : 끝점(아래쪽) 정렬
  • space-around : 각 행 위아래에 여백을 고르게 정렬
  • space-between : 첫 행은 시작점에, 끝 행은 끝점에 정렬되고 나머지 여백으로 고르게 정렬
  • space-evenly : 모든 여백을 고르게 정렬
  • stretch : 열 축을 채우기 위해 그리드 콘텐츠를 늘림
  • normal : stretch와 같습니다.

grid-align-content-01


place-items 속성

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

  • align-items : 그리드 아이템 (Items) 수직(열 축) 정렬
  • justify-items : 그리드 아이템 (Items) 수평(행 축) 정렬

  • start : 시작점(위쪽) 정렬
  • center : 수직 가운데 정렬
  • end : 끝점(아래쪽) 정렬
  • stretch : 열 축을 채우기 위해 그리드 콘텐츠를 늘림
  • normal : stretch와 같습니다.

grid-justify-items-01

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.