CSS - Grid gap



Description

The gap property is use to define the size of the gap between grid items in a grid container.

Example

The gap property is a shorthand for setting both row-gap and column-gap in one declaration.

Here is an example where the value of gap property is set to 30px

You can edit and try running this code using Edit & Run option.

<!DOCTYPE html>
<html>
<head>
    <title>CSS - gap</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style type="text/css">
        .grid-container {
            display: grid;
            grid-template-columns: auto auto auto;
            gap: 30px;
            color: white;
            text-align: center;
            width: 360px;
            border: 2px solid rgb(29, 231, 80);
            background-color: rgb(29, 231, 80);
        }
        .grid-item {
            background-color: rgb(228, 9, 9);
            border: 2px solid rgb(29, 231, 80);
            padding: 10px;
        }
    </style>
</head>
<body>
    <h3>The grid layout has 30px gap between columns and rows.</h3>
    <div class="grid-container">
        <div class="grid-item">Grid item 1</div>
        <div class="grid-item">Grid item 2</div>
        <div class="grid-item">Grid item 3</div>
        <div class="grid-item">Grid item 4</div>
        <div class="grid-item">Grid item 5</div>
        <div class="grid-item">Grid item 6</div>
    </div>
</body>
</html>    

The column-gap property defines the size of the gap between columns in a grid container.

Here is an example where the value of column-gap property is set to 40px

You can edit and try running this code using Edit & Run option.

<!DOCTYPE html>
<html>
<head>
  <title>CSS - column-gap</title>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style type="text/css">
      .grid-container {
          display: grid;
          grid-template-columns: auto auto auto;
          column-gap: 40px;
          color: white;
          text-align: center;
          width: 360px;
          border: 2px solid rgb(29, 231, 80);
          background-color: rgb(29, 231, 80);
      }
      .grid-item {
          background-color: rgb(228, 9, 9);
          border: 2px solid rgb(29, 231, 80);
          padding: 10px;
      }
  </style>
</head>
<body>
    <h3>The grid layout has 40px gap between columns.</h3>
    <div class="grid-container">
        <div class="grid-item">Grid item 1</div>
        <div class="grid-item">Grid item 2</div>
        <div class="grid-item">Grid item 3</div>
        <div class="grid-item">Grid item 4</div>
        <div class="grid-item">Grid item 5</div>
        <div class="grid-item">Grid item 6</div>
    </div>
</body>
</html>

The row-gap property is used to set the size of the gap between rows in a grid container.

Here is an example where the value of row-gap property is set to 40px

You can edit and try running this code using Edit & Run option.

<!DOCTYPE html>
<html>
<head>
    <title>CSS - row-gap</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style type="text/css">
        .grid-container {
            display: grid;
            grid-template-columns: auto auto auto;
            row-gap: 40px;
            color: white;
            text-align: center;
            width: 360px;
            border: 2px solid rgb(29, 231, 80);
            background-color: rgb(29, 231, 80);
        }
        .grid-item {
            background-color: rgb(228, 9, 9);
            border: 2px solid rgb(29, 231, 80);
            padding: 10px;
        }
    </style>
</head>
<body>
    <h3>The grid layout has 40px gap between rows.</h3>
    <div class="grid-container">
        <div class="grid-item">Grid item 1</div>
        <div class="grid-item">Grid item 2</div>
        <div class="grid-item">Grid item 3</div>
        <div class="grid-item">Grid item 4</div>
        <div class="grid-item">Grid item 5</div>
        <div class="grid-item">Grid item 6</div>
    </div>
</body>
</html>
Advertisements