Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS 그리드(Grid) 간격 크기 조정하는 방법

CSS 그리드 레이아웃에서 항목들 사이의 간격(여백)을 조절하려면 grid-column-gap, grid-row-gap, 또는 grid-gap 속성을 사용합니다. 각 속성의 역할과 사용법을 예제와 함께 살펴보겠습니다.

1. grid-column-gap 속성 – 열 사이의 간격 설정

그리드 열(column) 사이의 간격을 지정합니다. 아래 예제 코드를 실행하면 두 개의 열 사이에 20px 간격이 적용되는 것을 확인할 수 있습니다.

예제

<!DOCTYPE html>
<html>
   <head>
      <style>
         .container {
            display: grid;
            background-color: green;
            grid-template-columns: auto auto;
            padding: 20px;
            grid-column-gap: 20px;
         }
         .ele {
            background-color: orange;
            border: 2px solid gray;
            padding: 35px;
            font-size: 30px;
            text-align: center;
         }
      </style>
   </head>
   <body>
      <h1>Game Board</h1>
      <div class = "container">
         <div class = "ele">1</div>
         <div class = "ele">2</div>
         <div class = "ele">3</div>
         <div class = "ele">4</div>
         <div class = "ele">5</div>
         <div class = "ele">6</div>
      </div>
   </body>
</html>

2. grid-row-gap 속성 – 행 사이의 간격 설정

그리드 행(row) 사이의 간격을 지정합니다. 아래 예제는 열 간격과 함께 행 간격도 20px로 설정한 코드입니다.

예제

<!DOCTYPE html>
<html>
   <head>
      <style>
         .container {
            display: grid;
            background-color: green;
            grid-template-columns: auto auto;
            padding: 20px;
            grid-column-gap: 20px;
            grid-row-gap: 20px;
         }
         .ele {
            background-color: orange;
            border: 2px solid gray;
            padding: 35px;
            font-size: 30px;
            text-align: center;
         }
      </style>
   </head>
   <body>
      <h1>Game Board</h1>
      <div class = "container">
         <div class = "ele">1</div>
         <div class = "ele">2</div>
         <div class = "ele">3</div>
         <div class = "ele">4</div>
         <div class = "ele">5</div>
         <div class = "ele">6</div>
      </div>
   </body>
</html>

3. grid-gap 속성 – 행과 열 간격을 한 번에 설정

그리드 행과 열 사이의 간격을 동시에 지정할 수 있는 축약형(shorthand) 속성입니다. 값이 하나만 주어지면 행과 열에 같은 간격이 적용되고, 두 개의 값을 사용하면 첫 번째 값은 행 간격, 두 번째 값은 열 간격으로 설정됩니다.

예제

<!DOCTYPE html>
<html>
   <head>
      <style>
         .container {
            display: grid;
            background-color: green;
            grid-template-columns: auto auto;
            padding: 20px;
            grid-gap: 20px 20px;
         }
         .ele {
            background-color: orange;
            border: 2px solid gray;
            padding: 35px;
            font-size: 30px;
            text-align: center;
         }
      </style>
   </head>
   <body>
      <h1>Game Board</h1>
      <div class = "container">
         <div class = "ele">1</div>
         <div class = "ele">2</div>
         <div class = "ele">3</div>
         <div class = "ele">4</div>
         <div class = "ele">5</div>
         <div class = "ele">6</div>
      </div>
   </body>
</html>

참고: 최신 표준에서는 gap 속성 사용 권장

grid-column-gap, grid-row-gap, grid-gap은 초기 CSS 그리드 명세에서 도입된 이름입니다. 현재 CSS 박스 정렬(Box Alignment) 표준에서는 이들이 각각 column-gap, row-gap, gap으로 이름이 변경되었으며, 플렉스박스(flexbox) 등 다른 레이아웃에서도 동일하게 사용할 수 있습니다. 기존 접두사가 붙은 속성명도 대부분의 브라우저에서 여전히 호환되지만, 새 프로젝트에서는 gap 계열 속성을 사용하는 것이 좋습니다.