컴굥일지

[CSS] ch2.5 ~ ch2.8 : Grid2 본문

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

[CSS] ch2.5 ~ ch2.8 : Grid2

gyong 2022. 5. 20. 01:56
반응형

ch2.5 : Shortcuts

grid-row-start: 2;
grid-row-end: 4;
  • 위 코드는 grid-row : 2/4로 바꿀 수 있다.

  • grid-row : 1/5grid-row : 1/-1로 바꿔 쓸 수 있다.
    끝에서부터 -1, -2, -3 ... 으로 쓸 수 있다.

  • 위의 방법처럼 시작과 끝을 적는 대신에 span을 쓸 수 있다.
    얼마나 많은 cell을 가지고 있는지를 적으면 된다.

  • 시작점이 필요할 때는 grid-row: 2 / span 2 처럼 적어도 된다.

ch2.6 : Line Naming

/*line에 이름 붙이기*/
.grid {
    display: grid;
    gap: 10px;
    grid-template-columns: [first-line] 100px [second-line] 100px [third-line] 100px [fourth-line] 100px [fifth-line];
    grid-template-rows: repeat(4, 100px [sexy-line]); /*repeat 안에 이름 넣기*/
}

/*line 이름 사용하기*/
.content {
    background-color: #3498db;
    grid-column: first-line / fourth-line;
    grid-row: sexy-line 1 / sexy-line 3;
}
  • 위 코드처럼 line에 이름을 붙일 수 있다.
  • repeat에 넣어서 하는 방식은 결국 100px [first-line] 100px [second-line] 100px .....과 같다. (맨 앞에 line이 사라짐)

ch2.7 : Grid Template

fr은 fraction이다. fraction은 사용 가능한 공간을 의미한다.

grid-template-columns: repeat(4, 1fr); /*화면 크기 전체를 4개로 나눔*/
grid-template-rows: repeat(4, 100px);
  • width나 height를 따로 지정해주면 fr의 크기고 그에 따라 바뀐다.
.grid {
    display: grid;
    gap: 5px;
    height: 50vh;
    grid-template:
        "header header header header" 1fr /*row의 높이가 어떻게 되는지 정해줌*/
        "content content content nav" 2fr
        "footer footer footer footer" 1fr / 1fr 1fr 1fr 1fr;
        /*마지막으로 각 column의 너비가 어떻게 되는지를 정해줌*/
}

.header {
    background-color: #2ecc71;
    grid-area: header;
}
  • 이런식으로 짧게 해결할 수도 있다.
  • [line-start] "header header header header" 1fr [line-end] 이런식으로 이름을 넣을 수도 있다.
    (단, 한 줄만 넣는 것이 아니라 전부 넣어야 한다.)
  • grid-template에서는 repeat는 쓰지 못한다.

ch2.8 : Place Items

  • justify-items(수평) / align-items(수직)
    stretch가 기본, start, end, center 등이 있다.

  • <div class="footer">footer</div> 이런식으로 내용이 있을 때 사용해야 한다.
    내용이 없는데 사용하면, width와 height가 없기 때문에 나타나지 않을 것이다.
    (css에서 .footer에 width와 height를 지정하면 나타나긴 한다.)

  • align-items(수직) / justify-items(수평)을 한번에 쓸 수도 있다.
    place-items: stretch center; /*수직 수평*/

반응형

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

[CSS] ch3.0 ~ ch3.4 : SCSS  (0) 2022.05.22
[CSS] ch2.9 ~ ch2.13 : Grid3  (0) 2022.05.21
[CSS] ch2.1 ~ ch2.4 : Grid1  (0) 2022.05.19
[CSS] ch1.4 ~ ch1.7 : Flexbox2  (0) 2022.05.18
[CSS] ch1.0 ~ ch1.3 : Flexbox 1  (0) 2022.05.17
Comments