컴굥일지

[CSS] ch2.1 ~ ch2.4 : Grid1 본문

프로그래밍 강의/CSS - 노마드코더

[CSS] ch2.1 ~ ch2.4 : Grid1

gyong 2022. 5. 19. 14:26
반응형

ch2.1 : Life Before Grid

  • flex box로는 grid 형태를 만들기 어렵다.

ch2.2 : CSS Grid Basic Concepts

.father {
    display: grid; /*grid 화면 생성 - father에서 해야함*/
    grid-template-columns: 250px 250px 250px; /*3개 열 생성*/
    grid-template-rows: 100px 50px 300px; /*3개 행 생성*/
    column-gap: 5px; /*열 사이 간격*/
    row-gap: 10px; /*행 사이 간격*/
}
  • 행과 열의 간격이 동일하면 gap:10px로 적어도 된다.

ch2.3 : Grid Template Areas

grid-template-columns: 250px 250px 250px; 이 코드를 grid-template-columns: repeat(3,250px);로 쓸 수 있다.

.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; /*따옴표 쓰면 안 됨*/
}
  • grid-template-areas를 쓰려면 grid-area로 영역에 이름을 설정해줘야 한다.

  • "content content . nav" 이런식으로 비워둘 수도 있다.

ch2.4 : Rows and Columns

.grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, 100px);
    grid-template-rows: repeat(4, 100px);
}

.header {
    background-color: #2ecc71;
    grid-column-start: 1; /*header가 어디서부터 시작하는지*/
    grid-column-end: 3; /*header가 어디서 끝나는지*/
}

.nav {
    background-color: #8e44ad;
    grid-row-start: 2;
    grid-row-end: 4;
}
  • start와 end는 같이 있어야 한다.
  • 위의 start~end는 column을 의미하는 것이 아니라, line을 의미하는 것이다.
    즉, column 1에서 시작하고 3에서 끝나는 것이 아니다.(3칸 차지)
    line 1 ~ line 3 이므로, 2칸을 차지한다. (line은 gap이 생기는 위치)
  • grid-row/column-start/end를 잘 쓰면 HTML수정 없이 요소의 위치/순서를 바꿀 수 있다.
반응형

'프로그래밍 강의 > CSS - 노마드코더' 카테고리의 다른 글

[CSS] ch2.9 ~ ch2.13 : Grid3  (0) 2022.05.21
[CSS] ch2.5 ~ ch2.8 : Grid2  (0) 2022.05.20
[CSS] ch1.4 ~ ch1.7 : Flexbox2  (0) 2022.05.18
[CSS] ch1.0 ~ ch1.3 : Flexbox 1  (0) 2022.05.17
[CSS] CSS Layout 공부 시작  (0) 2022.05.16
Comments