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

[grid] CSS - Grid Intro - 그리드 소개 (※ 그리드 관련 속성 개괄)

목차
  1. grid 예제 - 3단 레이아웃
  2. grid 예제 - 3열 구조
  3. grid 정의 & 속성 개괄
  4. grid 관련 주소

 

grid 예제 - 3단 레이아웃

 

<style>

.a { grid-area: header; }

.b { grid-area: left; }

.c { grid-area: main; }

.d { grid-area: right; }

.e { grid-area: footer; }


.grid-container {

  display: grid;

  grid-template-areas:

    'header header header header header header'

    'left main main main right right'

    'left footer footer footer footer footer';

  gap: 10px;

  background-color: pink;

  padding: 10px;

}


.grid-container > div {

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

  text-align: center;

  padding: 10px 0;

  font-size: 30px;

}

</style>


<div class="grid-container">

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

 

결과보기

 

grid 예제 - 3열 구조

 

<style>

.grid-container {

  display: grid;

  grid-template-columns: auto auto auto;

  background-color: pink;

  padding: 10px;

}

.grid-item {

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

  border: 1px solid gray;

  padding: 20px;

  font-size: 30px;

  text-align: center;

}

</style>


<div class="grid-container">

  <div class="grid-item">1</div>

  <div class="grid-item">2</div>

  <div class="grid-item">3</div>  

  <div class="grid-item">4</div>

  <div class="grid-item">5</div>

  <div class="grid-item">6</div>  

  <div class="grid-item">7</div>

  <div class="grid-item">8</div>

  <div class="grid-item">9</div>  

</div>

 

결과보기 


PS. 컨네이너에 display:inline-grid 준 경우, 결과보기

 

 

grid 정의 & 속성 개괄

 [목차]

 


[grid 의미]

 

  • 그리드 (Grid) - 전체 가로 너비를 컬럼(column: 열)의 개수에 의해 자동 배분해 레이아웃 결정.
  • 컨테이너 (Container) - 그리드 아이템을 감싸는 부모요소
  • 아이템 (Item) - 그리드로 레이아웃 배치할 각각의 요소들

 


[그리드 선언]


컨테이너에  display:grid  (또는, display:inline-grid) 속성 추가.

 

  • .grid-container { display: grid;} - 각 아이템이 전체 너비를 각 아이템 개수로 나눈 너비 만큼 너비 차지
  • .grid-container { display: inline-grid; } - 각 아이템이 해당 내용만큼만 너비 차지.

 


[행열 의미]

 

  • 행 (row : 로우) - 가로줄
  • 열 (column :컬럼) - 세로줄

 


[행열 '개수/영역']

 

(1) 개별 지정

 

(2) 일괄 지정

 

cf. 관련 속성

  • grid 속성(C) - ★ 기호 붙은 6개 속성을 일괄지정 가능한 단축속성
  • grid-auto-flow 속성(C) ★ - 아이템이 컨테이너를 채우는 방식 지정.
  • grid-area 속성(I) - 아이템 영역 위치나 확장 지정.
  • grid-template-area 속성(C) ★ - 그리드 행열 영역 지정.



[행열 간격]

 

(1) CSS3 부터

  • gap 속성(C) : '행간/열간' 간격
  • row-gap 속성(C) : '행간' 간격
  • column-gap 속성(C) : '열간' 간격

 

(2) CSS3 이전

 
PS. CSS3에서 'grid-' 접두어 빼고 속성명 재명명함. 


[열 '위치/확장']

 

 


[행 '위치/확장']

 

 


[아이템 (수평/수직) 정렬]

 


PS. 이 속성들은 flex 레이아웃에서도 사용 가능.

 

grid 관련 주소

 

1분 코딩 님 - (flex + grid) 강의

https://youtu.be/eprXmC_j9A4

 

모질라 - grid 강의

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

 



분류 제목
css CSS - 이미지 세로 나열 (= 수직 정렬) 방법/경우/원인/이유
flex CSS - order 속성(I) - 아이템 순서 재조정 (= order속성 = 오더속성, IE11) ※ 플렉…
func CSS - rgb() 함수 - (빨강,녹색,파랑)으로 색상 정의. (= rgb함수 = 알지비함수)
list CSS - list-style 속성 ★ - 리스트 스타일 일괄 (= 리스트마커 = list-style속성 =…
func CSS - rgba() 함수 ★ - (빨강,녹색,파랑,불투명도)으로 색상 정의. (= rgba함수 = 알지비…
intro CSS - 정의・장점・구문・초기화 + 주석
animation CSS - animation-duration 속성 - 애니지속시간 (= 애니완료소요시간 = 움직임완료소요시간…
func CSS - hsla() 함수 - (색조, 채도, 밝기, 불투명도)로 색상 정의. (= hsla함수 = 에이치…
css CSS - 블럭요소 수직중앙정렬/수평중앙정렬 (= 가로가운데정렬) (IE9) ★★★★★ (HT - Cent…
css CSS - zoom 속성 - 요소 확대 (= zoom속성 = 줌속성) ※ IE 하위 브라우저(예: IE6, …
flex CSS - align-self 속성(I) ★ - 교차축 기준으로, 아이템 자체 정렬. (= align-sel…
transform CSS - transform 속성 ★ - 요소 (회전/비틀기/크기확대) 변환 + 마우스 허버 시 줌효과 (=…
selector CSS - ::after 가상선택자 ★ - 요소 뒤에 내용삽입 (= ::after선택자 = 에프터선택자/애프…
text CSS - text-emphasis 속성 - 텍스트 강조마크의 '모먕/색깔' 일괄 지정 (= 텍스트 글자 위…
box CSS - margin-top 속성 - 바깥여백상단 (= margin-top속성 = 마진탑속성 = 마진톱속성…
responsive CSS - RES Video - (반응형 동영상)
selector CSS - element~element 형제선택자 ★★ - 지정요소 뒤의 모든 특정형제요소 (요소선택자군…
border CSS - border-top 속성 - 테두리상단일괄 (= border-top속성 = 보더탑속성 / 보더톱속…
table CSS - table-layout 속성 ★★★ - 테이블 셀, 행 및 열을 레이아웃 (= table-layo…
border CSS - border-style 속성 ★ - 테두리모양일괄 (= border-style속성 = 보더스타일속…
21/27
목록
찾아주셔서 감사합니다. Since 2012