CSS 그리드 아이템

1
2
3
4
5

직접 테스트해 보세요

자식 요소(아이템)

그리드 컨테이너는 그리드 아이템을 포함합니다.

기본적으로, 컨테이너는 각 행의 각 열에 하나의 그리드 아이템을 가지고 있지만, 여러 열과/또는 행을 건너어 스타일을 설정할 수 있습니다.

grid-column 속성:

grid-column 속성은 프로젝트를 어느 열에 배치할지 정의합니다.

프로젝트의 시작 위치와 끝 위치를 정의할 수 있습니다。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

주의사항:grid-column grid-column-start 및 grid-column-end 속성의 축약형 속성입니다.

프로젝트를 배치하려면, 행 번호(line numbers)를 참조하거나,该项目가 얼마나 많은 열을 지나갈지 정의하는 "span" 키워드를 사용할 수 있습니다.

예제

"item1"를 첫 번째 열에서 시작하여 다섯 번째 열 전에 끝납니다:

.item1 {
  grid-column: 1 / 5;
}

직접 테스트해 보세요

예제

"item1"를 첫 번째 열에서 시작하여 3 열을 걸쳐집니다:

.item1 {
  grid-column: 1 / span 3;
}

직접 테스트해 보세요

예제

"item2"를 두 번째 열에서 시작하여 3 열을 걸쳐집니다:

.item2 {
  grid-column: 2 / span 3;
}

직접 테스트해 보세요

grid-row 속성:

grid-row 속성은 프로젝트가 배치될 행을 정의합니다。

프로젝트의 시작 위치와 끝 위치를 정의할 수 있습니다。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

주의사항:grid-row 속성은 grid-row-start과 grid-row-end 속성의 약자 속성입니다。

프로젝트를 배치하려면 행 번호를 참조하거나 "span" 키워드를 사용하여 이 프로젝트가 얼마나 많은 행을 걸쳐야 하는지 정의할 수 있습니다:

예제

"item1"를 row-line 1에서 시작하여 row-line 4에서 끝납니다:

.item1 {
  grid-row: 1 / 4;
}

직접 테스트해 보세요

예제

"item1"를 첫 번째 행에서 시작하여 2 행을 걸쳐집니다:

.item1 {
  grid-row: 1 / span 2;
}

직접 테스트해 보세요

grid-area 속성

grid-area 속성은 grid-row-start, grid-column-start, grid-row-end, grid-column-end 속성의 약자 속성으로 사용될 수 있습니다。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

예제

"item8"를 row-line 1과 column-line 2에서 시작하여 row-line 5와 column line 6에서 끝납니다:

.item8 {
  grid-area: 1 / 2 / 5 / 6;
}

직접 테스트해 보세요

예제

"item8"를 row-line 2와 column-line에서 시작하며, 2 행과 3 열을 걸쳐집니다:

.item8 {
  grid-area: 2 / 1 / span 2 / span 3;
}

직접 테스트해 보세요

이름 지정된 그리드 항목

grid-area 속성도 그리드 항목에 이름을 할당하는 데 사용될 수 있습니다。

Header
Menu
Main
Right
Footer

그리드 컨테이너를 통해 grid-template-areas 이름 지정된 그리드 항목을 참조하는 속성입니다。

예제

item1의 이름은 "myArea"이며, 다섯 개의 그리드 레이아웃의 모든 다섯 개 열을 걸쳐 있습니다:

.item1 {
  grid-area: myArea;
}
.grid-container {
  grid-template-areas: 'myArea myArea myArea myArea myArea';
}

직접 테스트해 보세요

각 행은 쌍따옴표(' ')으로 정의됩니다。

각 행의 열은 쌍따옴표 내에서 정의되며 공백으로 구분됩니다。

주의사항:점은 이름이 없는 그리드 아이템을 나타냅니다。

예제

"myArea"가 다섯 열의 그리드 레이아웃에서 두 열을 건너뛸 수 있도록 합니다(점은 이름이 없는 아이템을 의미합니다):

.item1 {
  grid-area: myArea;
}
.grid-container {
  grid-template-areas: 'myArea myArea . . .';
} 

직접 테스트해 보세요

두 행을 정의하려면 다른 쌍따옴표 내에서 두 번째 행의 열을 정의하세요:

예제

"item1"이 두 열과 두 행을 건너뛸 수 있도록 합니다:

.grid-container {
  grid-template-areas: 'myArea myArea . . .' 'myArea myArea . . .';
} 

직접 테스트해 보세요

예제

모든 아이템을 이름 지정하고 항상 사용할 수 있는 웹 템플릿을 만드세요:

.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }
.grid-container {
  grid-template-areas:
    'header header header header header header'
    'menu main main main right right'
    'menu footer footer footer footer footer';
} 

직접 테스트해 보세요

아이템의 순서

그리드 레이아웃은 우리가 원하는 위치에 아이템을 배치할 수 있게 합니다。

HTML 코드의 첫 번째 항목은 그리드의 첫 번째 항목으로 표시되지 않아야 합니다。

1
2
3
4
5
6

예제

.item1 { grid-area: 1 / 3 / 2 / 4; }
.item2 { grid-area: 2 / 3 / 3 / 4; }
.item3 { grid-area: 1 / 1 / 2 / 2; }
.item4 { grid-area: 1 / 2 / 2 / 3; }
.item5 { grid-area: 2 / 1 / 3 / 2; }
.item6 { grid-area: 2 / 2 / 3 / 3; }

직접 테스트해 보세요

사용자 정의 미디어 쿼리를 통해 특정 스크린 크기의 순서를 다시 정렬할 수 있습니다:

예제

@media only screen and (max-width: 500px) {
  .item1 { grid-area: 1 / span 3 / 2 / 4; }
  .item2 { grid-area: 3 / 3 / 4 / 4; }
  .item3 { grid-area: 2 / 1 / 3 / 2; }
  .item4 { grid-area: 2 / 2 / span 2 / 3; }
  .item5 { grid-area: 3 / 1 / 4 / 2; }
  .item6 { grid-area: 2 / 3 / 3 / 4; }
}

직접 테스트해 보세요