갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • 이터러블
  • 스코프 체인
  • 함수
  • 네이밍
  • nodemon
  • Arrow
  • 원시타입
  • 상속
  • PM2
  • 싱글스레드
  • class
  • 심볼
  • 렉시컬 환경
  • this
  • 자바스크립트엔진
  • function
  • 객체타입
  • Babel
  • 인터프리터
  • 실행 컨텍스트
  • prototype
  • 프로토타입
  • 오버라이딩
  • 정적 레벨
  • ECMAScript
  • SPREAD
  • symbol
  • 컴파일러
  • 호이스팅
  • structure

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

[CSS_study] display : grid
Study/HTML,CSS

[CSS_study] display : grid

2022. 5. 13. 20:46

* grid를 배우는 이유는??

  • flexbox에서 좌우배치, 중앙배치는 쉽지만 grid형태를 만드는 게 어려움

* grid design은 대부분 father에서 설정한다.

  • 규칙은 flexbox와 거의 비슷하다.
  • display: grid

* grid-template-columns : column의 크기 및 갯수를 설정

ex) grid-template-columns: 20px 55px 89px 100px;

column 4개를 만들건데
첫 번째 column은 20px,
두 번째는 55px,
세 번째는 89px,
네 번째는 100px로 해라

 

(참고) row의 크기를 설정하지 않으면 font-size의 크기만큼 커진다.

(참고) 더 이상 column이 없다면 다음 줄로 넘어간다.

* grid-template-rows : row의 크기 및 갯수를 설정

  - column과 동일한 방식

* gap (column과 row사이의 공간 설정)

  • gap: column과 row 사이의 공간을 설정
  • column-gap: (column 사이 공간 설정)
  • row-gap: (row 사이 공간 설정)

* grid 예시코드

<div class="father">
  <div class="child">1</div>
  <div class="child">2</div>
  <div class="child">3</div>
  <div class="child">4</div>
  <div class="child">5</div>
  <div class="child">6</div>
  <div class="child">7</div>
  <div class="child">8</div>
  <div class="child">9</div>
</div>
.father {
  display: grid;
  grid-template-columns: 250px 250px 250px;
  grid-template-rows: 100px 50px 300px;
  column-gap: 5px;
  row-gap: 10px;
}

.child {
  background: peru;
  color: white;
  font-size: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}


* repeat

  • grid-template-columns와 grid-template-rows에서 repeat([개수], [크기])으로 더 쉽게 할 수 있다.
    • (참고) 내가 원하는 부분만 repeat가능
    • (참고) auto를 사용하면 최대한 크게 만들어준다.

ex) grid-template-columns : repeat(4, 200px)

ex) grid-template-columns : 100px repeat(2, 200px) 100px

ex) auto 200px auto auto 두번째 200px 적용이고 나머지 그리드들은 auto로 적용

* grid-template-areas

  • 같은 영역은 서로 이어져 있어야 한다.
  • 이어져 있더라도 그 집합 영역이 'ㄱ'자 or 'ㄴ'자 모양이면 작동이 되지않는다.
  • 직사각형이나 정사각형일 때만 작동이 된다.
  • grid-area에 있는 이름과 grid-template-areas에 있는 이름이 같아야 한다.
    • class 이름은 상관없다.
  • grid-template-areas공간을 . (점) 혹은 언더바( _ )를 사용하여서 빈공간으로 만들어 줄 수도있다.

* grid-template-areas 예시 코드 (빈공간 만드는법)

.grid {
  display: grid;
  grid-template-columns: auto 200px;
  grid-template-rows: 100px repeat(2, 200px) 100px;
  grid-template-areas:
    "header header header header"
    "content content _ nav"
    "content content . nav"
    "footer footer footer footer";
}

 

* grid-template-areas 예시코드

<div class="grid">
  <div class="header"></div>
  <div class="content"></div>
  <div class="nav"></div>
  <div class="footer"></div>
</div>
.grid {
  display: grid;
  grid-template-columns: auto 200px;
  grid-template-rows: 100px repeat(2, 200px) 100px;
  grid-template-areas:
    "header header header header"
    "content content content nav"
    "content content content nav"
    "footer footer footer footer";
}

.header {
  background-color: #2ecc71;
  grid-area: header;
}
.content {
  background-color: #3498db;
  grid-area: content;
}
.nav {
  background-color: #8e44ad;
  grid-area: nav;
}
.footer {
  background-color: #f39c12;
  grid-area: footer;
}

 

'Study > HTML,CSS' 카테고리의 다른 글

[CSS_study] display : grid_3 (Line Naming)  (0) 2022.05.14
[CSS_study] display : grid_2 (grid-column)  (0) 2022.05.14
[CSS_study] flex-basis (flex-shrink 와 flex-grow 를 위한 기본 세팅)  (0) 2022.05.13
[CSS_study] flex-grow, flex-shrink  (0) 2022.05.13
[CSS_study] flex-wrap, align-content, flex-flow  (0) 2022.05.13
    'Study/HTML,CSS' 카테고리의 다른 글
    • [CSS_study] display : grid_3 (Line Naming)
    • [CSS_study] display : grid_2 (grid-column)
    • [CSS_study] flex-basis (flex-shrink 와 flex-grow 를 위한 기본 세팅)
    • [CSS_study] flex-grow, flex-shrink
    갈푸라떼
    갈푸라떼

    티스토리툴바