그리드 레이아웃 부모 속성 part2 - by. UXKM

요약 설명 그리드 레이아웃 - 부모 속성 part 2 에서는
- grid 속기형 속성
- grid 거터
- grid 콘텐츠(content) 정렬
- grid 아이템(items) 정렬
에 대한 내용을 다루고 있습니다.

4.5.5. 부모 속성(properties for the parent - grid container)

4.5.5.7. grid 속기형 속성

요약 설명

하나의 속성에 다음 속성들을 모두 일괄 설정할 수 있는 grid 속기형 속성입니다.
grid-template-rows
grid-template-columns
grid-template-areas
grid-auto-rows
grid-auto-columns
grid-auto-flow

grid

grid-template-xxxgrid-auto-xxx의 단축 속성을 설명합니다.
명시적 그리드 속성 (grid-template-rows, grid-template-columns, grid-template-areas),
암시적 그리드 속성 (grid-auto-rows, grid-auto-columns, grid-auto-flow)을 축약형으로 선언합니다.

  1. none : 모든 속성을 초기 값으로 적용
  2. <grid-template-rows> / <grid-template-columns> : grid-tempate-rows / grid-template-columns 속성 설정
  3. <grid-auto-flow> [<grid-auto-rows> [/ <grid-auto-columns>]] : grid-auto-flow / grid-auto-rows / grid-auto-columns 속성 설정
기본 값
예시1
예시2
예시3
예시4
예시5
grid shorthand 예제

4.5.5.8. grid 거터

그리드 라인(행/열) 사이 간격(gap)을 조정합니다.
그리드 거터 속성의 이름 앞에 붙어 있던 grid- 는 모두 제외 되었습니다. 이전에 사용되던 이름은 grid-row-gap, grid-column-gap, gap 입니다.
모든 브라우저 호환 이전까지는 예전 이름을 사용하거나, postcss-gap-properties를 사용합니다

column-gap(grid-column-gap) / row-gap(grid-row-gap)

열과 열 사이 및 행과 행 사이의 간격(line)을 정의합니다.
grid- 접두사가 제거되고. grid-column-gap = column-gap, grid-row-gap = row-gap 으로 이름이 변경되었습니다.
grid- 접두사가 없는 속성은 chrome 68 이상, safari 11.2 릴리스 50 이상 및 opera 54 이상에서 지원됩니다.

  1. column-gap : <line-size>
  2. row-gap : <line-size>
[gutters는 외부 모서리가 아닌 열 / 행 사이에만 작성됩니다.]
gutters는 외부 모서리가 아닌 열 / 행 사이에만 작성됩니다.

gap(grid-gap)

column-gap / row-gap 의 축약(shorthand) 속성입니다.
grid- 접두사가 제거되고 grid-gap = gap 으로 이름이 변경되었습니다.
grid- 접두사가 없는 속성은 chrome 68 이상, safari 11.2 릴리스 50 이상 및 opera 54 이상에서 지원됩니다.
그리드 거터 속성의 이름 앞에 붙어 있던 grid- 는 모두 제외 되었습니다. 이전에 사용되던 이름은 grid-row-gap, grid-column-gap, gap 입니다.

모든 브라우저 호환 이전까지는 예전 이름을 사용하거나, postcss-gap-properties를 사용합니다.
그리드 행 / 열 사이 간격을 조정할 수 있습니다. 퍼센트 값은 콘텐츠 영역에 상대적으로 설정 됩니다.

  1. 축약(shorthand) 속성 - gap : <grid-row-gap> <grid-column-gap>

4.5.5.9. grid 콘텐츠(content) 정렬

align-content

열과 열 사이 및 행과 행 사이의 간격(line)을 정의합니다.
grid- 접두사가 제거되고. grid-column-gap = column-gap, grid-row-gap = row-gap 으로 이름이 변경되었습니다.
grid- 접두사가 없는 속성은 chrome 68 이상, safari 11.2 릴리스 50 이상 및 opera 54 이상에서 지원됩니다.

  1. start : 그리드 컨테이너 영역의 시작점(위쪽)에 아이템 트랙을 정렬

    align-content: start;
    align-content: start
  2. center : 그리드 컨테이너 영역의 중앙에 아이템 트랙을 정렬(수직 가운데 정렬)

    align-content: center;
    align-content: center
  3. end : 그리드 컨테이너 영역의 끝점(아래쪽)에 아이템 트랙을 정렬

    align-content: end;
    align-content: end
  4. stretch : 그리드 컨테이너 영역을 아이템 트랙 크기를 조정하여 채움(열 축을 채우기 위해 그리드 콘텐츠를 늘림)

    align-content: stretch;
    align-content: stretch
  5. space-between : 그리드 컨테이너 영역의 양 가장자리 공백 없이, 아이템 트랙(열) 사이 공간을 나눔(첫 행은 시작점에, 끝 행은 끝점에 정렬되고 나머지 여백으로 고르게 정렬)

    align-content: space-between;
    align-content: space-between
  6. space-around : 그리드 컨테이너의 남은 영역을 아이템 트랙(열)이 좌/우 공간으로 나눔(양 가장자리 공간은 아이템 그룹 사이 간격의 1/2)(각 행 위아래에 여백을 고르게 정렬)

    align-content: space-around;
    align-content: space-around
  7. space-evenly : space-around와 비슷해 보이지만, 공간을 모두 동일하게 나누는 점이 다름(모든 여백을 고르게 정렬)

    align-content: space-evenly;
    align-content: space-evenly

justify-content

그리드 콘텐츠를 수평(행 축) 정렬을 정의합니다.
그리드 컨테이너의 크기보다 작은 그리드 아이템 트랙(px와 같은 고정 단위로 설정된 경우)의 크기라면, 아이템 트랙을 정렬할 수 있습니다.
이 속성은 행(row) 축을 따라 그리드 아이템 트랙을 정렬합니다. (align-content 속성의 반대)

  1. start : 그리드 컨테이너 영역의 시작점(왼쪽)에 아이템 트랙을 정렬

    justify-content: start;
    justify-content: start
  2. center : 그리드 컨테이너 영역의 중앙에 아이템 트랙을 정렬

    justify-content: center;
    justify-content: center
  3. end : 그리드 컨테이너 영역의 끝점(오른쪽)에 아이템 트랙을 정렬

    justify-content: end;
    justify-content: end
  4. stretch : 그리드 컨테이너 영역을 아이템 트랙 크기를 조정하여 채움(행 축을 채우기 위해 그리드 콘텐츠를 늘림)

    justify-content: stretch;
    justify-content: stretch
  5. space-between : 그리드 컨테이너 영역의 양 가장자리 공백 없이, 아이템 트랙(열) 사이 공간을 나눔(첫 열은 시작점에, 끝 열은 끝점에 정렬되고 나머지 여백으로 고르게 정렬)

    justify-content: space-between;
    justify-content: space-between
  6. space-around : 그리드 컨테이너의 남은 영역을 아이템 트랙(열)이 좌/우 공간으로 나눔(양 가장자리 공간은 아이템 그룹 사이 간격의 1/2)(각 열 좌우에 여백을 고르게 정렬)

    justify-content: space-around;
    justify-content: space-around
  7. space-evenly : space-around와 비슷해보이지만, 공간을 모두 동일하게 나누는 점이 다름(모든 여백을 고르게 정렬)

    justify-content: space-evenly;
    justify-content: space-evenly

place-content

<align-content> / <justify-content>의 단축 속성입니다.
첫 번째 값은 align-content속성 값이고 두 번째 값은 justify-content 속성 값입니다.
firefox버전 60부터는 align-contentjustify-content에 모두 유효한 경우 단일 값만 지정할 수 있습니다.

위치 정렬(positional alignment)

align-content는 왼쪽(left)과 오른쪽(right) 값을 사용하지 않습니다.

기준선 정렬(baseline alignment)

justify-content는 기준 값을 사용하지 않습니다.

분산 정렬(distributed alignment)

4.5.5.10. grid 아이템(items) 정렬

align-items

그리드 아이템(items)들을 수직(열 축) 정렬합니다.
열(column) 축을 따라 그리드 아이템 내부 콘텐츠를 정렬합니다. (justify-items 속성의 반대)
이 설정은 그리드 컨테이너 내부 모든 그리드 아이템에 적용됩니다.
개별 그리드 아이템에 행축 콘텐츠 정렬 속성을 적용하려면 align-self 속성을 사용합니다.

  1. start : 그리드 영역의 시작점(위쪽)에 콘텐츠 정렬

    align-items: start;
    align-items: start
  2. center : 그리드 영역의 중앙에 콘텐츠 정렬(수직 가운데 정렬)

    align-items: center;
    align-items: center
  3. end : 그리드 영역의 끝점(아래쪽)에 콘텐츠 정렬

    align-items: end;
    align-items: end
  4. stretch : 기본값으로 그리드 영역 전체 너비를 채움(열 축을 채우기 위해 그리드 아이템을 늘림)

    align-items: stretch;
    align-items: stretch

justify-items

그리드 아이템들을 수평(행 축) 정렬합니다.
행 축을 따라 그리드 아이템 내부 콘텐츠를 정렬합니다. (열 축에 따라 정렬하는 align-self 속성과는 반대)

  1. start : 그리드 아이템 영역 행 축 시작점(왼쪽)에 콘텐츠를 정렬

    justify-items: start;
    justify-items: start
  2. center : 그리드 아이템 영역 행 축 중앙에 콘텐츠를 정렬(수평 가운데 정렬)

    justify-items: center;
    justify-items: center
  3. end : 그리드 아이템 영역 행 축 끝점(오른쪽)에 콘텐츠를 정렬

    justify-items: end;
    justify-items: end
  4. stretch : 그리드 아이템 영역을 행 축에 가득 채움(행 축을 채우기 위해 그리드 아이템을 늘림)

    justify-items: stretch;
    justify-items: stretch

place-items

align-itemsjustify-items의 단축 속성입니다.
첫 번째 값은 align-items 속성 값이고 두 번째 값은 justify-items 속성 값입니다.

키워드 값(Keyword values)
위치 정렬(positional alignment)
기준선 정렬(baseline alignment)