수색…


소개

그리드 레이아웃은 웹 페이지 컨텐츠를 쉽게 행과 열로 나눌 수있는 새롭고 강력한 CSS 레이아웃 시스템입니다.

비고

CSS 그리드 레이아웃 모듈 레벨 1 은 2016 년 9 월 9 일부터 W3C 후보 권고안입니다. 테스트 단계 ( https://www.w3.org/Style/CSS/current-work) 에있는 것으로 간주됩니다.

2017 년 7 월 3 일부터 Microsoft의 Internet Explorer 10 및 11 및 Edge 브라우저는 공급 업체 접두사를 사용하는 이전 버전의 사양 만 지원합니다.

기본 예제

재산 가능한 값
디스플레이 그리드 / 인라인 그리드

CSS Grid는 표시 속성으로 정의됩니다. 부모 요소와 그 직접적인 자식에만 적용됩니다.

다음 마크 업을 고려하십시오.

<section class="container">
  <div class="item1">item1</div>
  <div class="item2">item2</div>
  <div class="item3">item3</div>
  <div class="item4">item4</div>
</section>

위의 마크 업 구조를 그리드로 정의하는 가장 쉬운 방법은 단순히 display 속성을 grid 설정하는 것입니다.

.container {
  display: grid;   
}

그러나 이렇게하면 항상 모든 하위 요소가 서로 겹쳐집니다. 이는 아이들이 현재 그리드 내에 자신을 배치하는 방법을 알지 못하기 때문입니다. 그러나 우리는 그들에게 명백하게 말할 수 있습니다.

먼저 그리드 요소 .container 얼마나 많은 행과 열이 구조를 구성하는지 알려주고 grid-columnsgrid-rows 속성을 사용하여이 작업을 수행 할 수 있습니다 (복수형 참조).

.container {
  display: grid;
  grid-columns: 50px 50px 50px;
  grid-rows: 50px 50px;
}

그러나 그것은 우리가 각 어린이 요소를 주문할 필요가 있기 때문에 여전히 도움이되지 않습니다. 우리는 grid-rowgrid-column 값을 지정함으로써 grid-row 에서의 위치를 ​​알릴 수 있습니다 :

.container .item1 {
  grid-column: 1;
  grid-row: 1;
}
.container .item2 {
  grid-column: 2;
  grid-row: 1;
}
.container .item3 {
  grid-column: 1;
  grid-row: 2;
}
.container .item4 {
  grid-column: 2;
  grid-row: 2;
}

각 항목에 열과 행 값을 제공하여 컨테이너 내의 항목 순서를 식별합니다.

JSFiddle 에서 작업 예제를 봅니다 . IE10, IE11 또는 Edge에서 이것을보아야합니다. 현재는 그리드 레이아웃을 지원하는 유일한 브라우저 (공급 업체 접두어 -ms- 와 함께) 또는 크롬, 오페라, Firefox에서 차례대로 사용 가능하도록 설정할 수 있습니다 . 그들과 함께 테스트 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow