Grid

김형진·2024년 8월 12일

2차원(행과 열)의 레이아웃 시스템을 제공

Grid CSS 속성

  • gap: item끼리 띄어주는 속

  • grid-template-columns, grid-template-rows

    • 공백으로 구분된 값 목록 그리드의 열과 행을 정의

    • 값은 트랙 크기를 나타내고 그 사이의 공간은 grid line 격자선을 나타냄

    • grid-template-columns

      • repeat: 반복적인 패턴을 보이는 다수의 열이나 행을 더 압축된 형태로 작성

        grid-template-columns: repeat(2, 60px);
      • 1fr

        grid-template-columns: repeat(2, 20px 1fr);

실습

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Document</title>
    <style>
      .grid {
        display: grid;
        grid-template-columns: 100px 100px;
      }
      .grid div:nth-child(1) {
        background-color: lightblue;
      }
      .grid div:nth-child(2) {
        background-color: lightpink;
      }

      .grid1 {
        display: grid;
        grid-template-columns: 100px 100px 200px;
        margin-top: 30px;
      }
      .grid1 div:nth-child(1) {
        background-color: lightblue;
      }
      .grid1 div:nth-child(2) {
        background-color: lightpink;
      }
      .grid1 div:nth-child(3) {
        background-color: lightblue;
      }

      .grid2 {
        display: grid;
        grid-template-columns: 100px 1fr 2fr;
        margin-top: 30px;
        gap: 20px;
      }
      .grid2 div:nth-child(1) {
        background-color: lightblue;
      }
      .grid2 div:nth-child(2) {
        background-color: lightpink;
      }
      .grid2 div:nth-child(3) {
        background-color: lightblue;
      }

      .gridContainer {
        margin-top: 3rem;
        padding: 10px;
        display: grid;
        background-color: antiquewhite;
        grid-template-columns: auto auto auto;
      }
      .gridContainer div:nth-child(1) {
        grid-column-start: 1;
        grid-column-end: 3;
      }
    </style>
  </head>
  <body>
    <div class="grid">
      <div>item1</div>
      <div>item2</div>
    </div>
    <div class="grid1">
      <div>item1</div>
      <div>item2</div>
      <div>item3</div>
    </div>

    <div class="grid2">
      <div>item1</div>
      <div>item2</div>
      <div>item3</div>
    </div>

    <div class="gridContainer">
      <div>1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
      <div>6</div>
      <div>7</div>
      <div>8</div>
    </div>
  </body>
</html>

0개의 댓글