• 회원가입
  • 로그인
  • 구글아이디로 로그인

[grid] CSS - grid-area 속성(I) - 그리드 아이템 영역 '위치/크기확장' 지정 또는 그리드 아이템 영역 이름 지정 (= grid-area속성 = 그리드에어리어속성)

목차
  1. grid-area 예제 - 그리드 아이템 영역 '위치/크기' 직접 지정
  2. grid-area 정의
  3. grid-area 구문
  4. grid-area 예제 - 그리드 아이템 영역 '이름'만 지정 후 참조

 

grid-area 예제 - 그리드 아이템 영역 '위치/크기' 직접 지정

[목차]

 


[span 키워드로 영역 크기 지정 방식]

※ span 키워드를 이용해 지정 개수만큼 행열 확장.
 

<style>

.grid-box {

  display: grid;

  grid-template-columns: auto auto auto auto;

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}


.a {

  grid-area: 2 / 1 / span 2 / span 3; /* 2행부터 2개행, 1열부터 3개열 확장 */

}

</style>


<div class="grid-box">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">c</div>  

  <div class="d">d</div>

  <div class="e">e</div>

  <div class="f">f</div>

  <div class="g">g</div>

</div>

 

결과보기


[끝행과 끝열로 영역 크기 지정]

※ 주의: 행과 열의 끝 좌표는 포함 X

 

<style>

.a { grid-area: 1 / 1 / 2 / 2; } /* 1행부터 2행 앞까지, 1열부터 2열 앞까지 */

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

.c { grid-area: 1 / 3 / 2 / 4; }

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

.e { grid-area: 2 / 2 / 3 / 3; }

.f { grid-area: 2 / 3 / 3 / 4; }


.grid-box {

  display: grid;

  grid-auto-columns: 50px;

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-box">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">c</div>  

  <div class="d">d</div>

  <div class="e">e</div>

  <div class="f">f</div>

</div>

 

결과보기 

PS. grid-template-columns 속성은 grid-auto-columns 속성을 덮어씀.

 

grid-area 정의

 

그리드 아이템 영역의 '위치/크기'를 지정하거나 아이템의 '이름'을 지정. (아래 속성을 일괄 지정 가능한 단축 속성)

 


 

1.

영역 '이름' 지정 방식으로 사용 경우, grid-template-areas 속성에서 해당 이름을 참조해 영역 지정함.

 

2.

  • 기본값: auto / auto / auto / auto
  • 상속여부: X
  • 애니가능: O
  • CSS버전: CSS Grid Layout Module Level 1
  • JS구문: object.style.gridArea="1 / 2 / span 2 / span 3";

 

3.

IE 제외한 주요 최신 브라우저 모두 지원.

 

4. MDN grid-area 예제보기

https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area

 

 

grid-area 구문

 

selector {grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end | itemname;}

 


[속성값]

 

grid-row-start

아이템 영역 시작행 좌표

grid-column-start

아이템 영역 시작열 좌표

 

grid-row-end

아이템 영역 끝행 좌표 (포함 X) 

  • span number 형식 경우, 지정 숫자만큼 확장. (예) span 2 경우, 2개행 확장.

grid-column-end
아이템 영역 끝열 좌표 (포함 X) 
  • span number 형식 경우, 지정 숫자만큼 확장. (예) span 3 경우, 3개 열 확장.

 

itemname

아이템 이름.

 

 

grid-area 예제 - 그리드 아이템 영역 '이름'만 지정 후 참조

[목차]

 


[1행의 모든 열을 확장]

 

<style>

.a {

  grid-area: hz;

}


.grid-box {

  display: grid;

  grid-template-areas: 'hz hz hz hz hz';

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-box">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">d</div>  

  <div class="d">d</div>

  <div class="e">e</div>

  <div class="f">f</div>

</div>

 

결과보기


[1행의 2열만 확장]

 

<style>

.a {

  grid-area: hz;

}


.grid-box {

  display: grid;

  grid-template-areas: 'hz hz . . .';

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-box">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">d</div>  

  <div class="d">d</div>

  <div class="e">e</div>

  <div class="f">f</div>

  <div class="g">g</div>

  <div class="h">h</div>

  <div class="i">i</div>  

</div>

 

결과보기


[행열 확장]

 

<style>

.a {

  grid-area: hz;

}


.grid-box {

  display: grid;

  grid-template-areas: 'hz hz . . .' 'hz hz . . .';

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-box">

  <div class="a">a</div>

  <div class="b">b</div>

  <div class="c">d</div>  

  <div class="d">d</div>

  <div class="e">e</div>

  <div class="f">f</div>

  <div class="g">g</div>

</div>

 

결과보기


[3단 레이아웃 짜기]

 

<style>

.a { grid-area: header; }

.b { grid-area: left; }

.c { grid-area: main; }

.d { grid-area: right; }

.e { grid-area: footer; }


.grid-box {

  display: grid;

  grid-template-areas:

  'header header header header header header'

  'left main main main right right'

  'left footer footer footer footer footer';

  grid-gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-box > div {

  background-color: rgba(255, 255, 255, 0.8);

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-box">

  <div class="a">Header</div>

  <div class="b">Left</div>

  <div class="c">Main</div>  

  <div class="d">Right</div>

  <div class="e">Footer</div>

</div>

 

결과보기


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
intro CSS - 정의・장점・구문・초기화 + 주석
intro CSS - 발전사 (CSS1 → CSS2.01 → CSS) + 제작관리 단체
intro CSS - 스타일 적용 방법 3가지 ★★★ - (인라인스타일 / 내부스타일 / 외부스타일) CSS적용순서 +…
selector CSS - 선택자 (Selector) 종류 + 선택자에 사용가능한 문자 (= 선택자 이름짓기 주의사항)
selector CSS - ID선택자, class선택자 + CSS우선순위 ★★★ (= 아이디선택자, 클래스선택자, CSS명시…
selector CSS - * 전체선택자 - 모든 요소 선택. (요소선택자군) ※ 아스테리크 (asterisk) 선택자 = …
selector CSS - element 요소선택자 ★ - 지정 요소 선택. (요소선택자군)
selector CSS - element,element 병렬선택자 ★ - 쉼표로 나열된 여러 요소 선택. (= 여러 요소선택…
selector CSS - element element 자손선택자 ★ - 자손요소 (요소선택자)
selector CSS - element>element 자식선택자 ★ - 직접 자식요소만 선택. (요소선택자, IE7)
selector CSS - element+element 인접선택자 ★★ - 바로 뒤 인접형제요소 (요소선택자, IE7) + …
selector CSS - element~element 형제선택자 ★★ - 지정요소 뒤의 모든 특정형제요소 (요소선택자군…
selector CSS - [attribute] 속성선택자 - 특정 속성 보유 요소 (IE7) ※ 여러 속성 보유 선택자
selector CSS - [attribute=value] 속성선택자 - 지정속성값보유요소 선택 (IE7) ※ 특정 (속성/…
1/25
목록
찾아주셔서 감사합니다. Since 2012