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

[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>

 

결과보기



분류 제목
selector CSS - element,element 병렬선택자 ★ - 쉼표로 나열된 여러 요소 선택. (= 여러 요소선택…
box CSS - padding 속성 ★ - 안쪽여백 (= padding속성 = 패딩속성)
box CSS - min-height 속성 - 최소높이 (= 최소세로길이 = min-height속성 = 민하이트속성…
outline CSS - outline-style (아웃라인스타일) - 테두리 외곽 스타일 (상속 X) : (IE8)
intro CSS - @charset 구문 - 스타일시트 인코딩방식 설정 (= 언어셋지정/문자셋지정 = @charset…
border CSS - border-left 속성 - 테두리좌측일괄 (= 테두리왼쪽일괄 = border-left속성 = …
selector CSS - :last-child 가상선택자 - 그 부모의 마지막자식요소인 지정요소 (= :last-child…
selector CSS - :lang() 가상선택자 - 특정언어속성요소 (= 언어선택자 = 랭선택자, IE8)
list CSS - list-style-position 속성 ★ - 리스트 스타일 위치 (= 리스트 마커 위치 = …
box CSS - max-height 속성 - 최대높이 (= 최대세로길이 = max-height속성 = 맥스하이트속…
selector CSS - element>element 자식선택자 ★ - 직접 자식요소만 선택. (요소선택자, IE7)
animation CSS - animation-iteration-count 속성 - 애니반복횟수 (= 움직임반복횟수, IE10…
text CSS - writing-mode 속성 - 텍스트 방향 가로/세로 제어. (= 글쓰기 방향 = 쓰기 모드 제…
border CSS - border 속성 ★ - 테두리일괄 (= border속성 = 보더속성) (상속X)
func CSS - hsl() 함수 - (색조, 채도, 밝기)로 색상 정의. (= hsl함수 = 에이치에스엘함수/흐슬…
background CSS - background-attachment 속성 - 배경이미지 고정 (= background-atta…
background CSS - background 속성 ★ - 배경 일괄 (= background속성 = 백그라운드속성)
selector CSS - :nth-child() 가상선택자 ★ - 그 부모의 n번째 자식요소 (=nth-child선택자 =…
animation CSS - animation-direction 속성 - 애니방향 (= 움직임방향 = 애니메이션디렉션속성, I…
responsive CSS - Responsive Image - (반응형 이미지) ★★★
22/27
목록
찾아주셔서 감사합니다. Since 2012