CSS grid-template-areas: 그리드 영역 정의 및 명명

CSS grid-template-areas 속성은 그리드 영역을 정의하는 동시에 각 영역에 이름을 할당합니다.

불러오는 중...

grid-template-areas:
  "a a a"
  "b c c"
  "b c c";
grid-template-areas:
  "b b a"
  "b b c"
  "b b c";
grid-template-areas:
  ". a a"
  "b c c"
  "b . .";
grid-template-areas:
  "c c c"
  ". b ."
  "a a a";

grid-template-areas가 정의하는 영역은 그리드 아이템에 자동으로 연결되지 않습니다. 그리드 배치 속성인 grid-row-start, grid-row-end, grid-column-start, grid-column-end, 또는 이 속성들의 단축 속성인 grid-row, grid-column, grid-area를 사용해서 영역에 아이템을 배치하세요.

구문

/* 키워드 값 */
grid-template-areas: none;

/* <string> 값 */
grid-template-areas: "a b";
grid-template-areas: "a b b"
                     "a c d";

/* 전역 값 */
grid-template-areas: inherit;
grid-template-areas: initial;
grid-template-areas: revert;
grid-template-areas: revert-layer;
grid-template-areas: unset;

none

그리드 컨테이너가 이름 있는 영역을 하나도 정의하지 않습니다.

<string>+

지정한 문자열 각각이 그리드의 행을 정의하고, 문자열 내에서 공백으로 구분한 각각의 으로 그리드의 열을 정의합니다. 여러 행과 열에 같은 이름을 사용하면 해당 칸 모두를 차지하는 영역을 정의할 수 있습니다. 다만, 영역의 형태는 항상 직사각형이어야 합니다.

예제

레이아웃 구성하기

HTML

<article>
  <header>헤더</header>
  <nav>메뉴</nav>
  <main>본문</main>
  <footer>푸터</footer>
</article>

CSS

article {
  color: #fff;
  height: 300px;
  display: grid;
  grid-template-areas:
    "header header"
    "nav    main"
    "nav    footer";
  grid-template-columns: 150px 1fr;
  grid-template-rows: 50px 1fr 50px;
}

header {
  background: #24c0a5;
  grid-area: header;
}

nav {
  background: #4011c5;
  grid-area: nav;
}

main {
  background: #b42809;
  grid-area: main;
}

footer {
  background: #24c0a5;
  grid-area: footer;
}

결과

실행 결과

불러오는 중...

명세

브라우저 호환성

IEEdgeChromeSafariFirefox
미지원165710.152
iOS SafariAndroid WebViewAndroid ChromeAndroid FirefoxSamsung Internet
10.35757526.0
MDN BCD에서 가져오는 데이터입니다.

마지막 업데이트:
이 페이지를 오프라인에서 볼 수 있습니다.

sorto.me

CC BY-SA 4.0

based on MDN (contributors)