W3docs

Propriedade CSS grid-gap

A propriedade CSS grid-gap define o tamanho do espaço entre linhas e colunas de um layout grid. Veja essa propriedade em ação.

A propriedade grid-gap define o tamanho do espaço (gutter) entre as linhas e colunas de um layout grid. O espaço é a área vazia entre as faixas do grid — ele nunca adiciona espaço nas bordas externas do grid, portanto o padding do próprio container ainda controla a margem externa.

grid-gap é uma abreviação de duas propriedades individuais:

grid-gap vs. gap

A propriedade padrão gap substituiu grid-gap. As duas se comportam de forma idêntica dentro de um container grid, mas grid-gap é agora considerada legada: ela existe principalmente para navegadores mais antigos que lançaram a versão com prefixo grid antes de gap sem prefixo ser padronizado. Os navegadores modernos ainda suportam grid-gap como alias, portanto folhas de estilo existentes continuam funcionando.

Para novos projetos, prefira gap — ele funciona em layouts grid e Flexbox, enquanto grid-gap só se aplicava a grids:

/* Legacy (grid only) */
.grid { display: grid; grid-gap: 20px 40px; }

/* Modern, preferred */
.grid { display: grid; gap: 20px 40px; }
Valor inicial0
Aplicado aContainers grid.
HerdadoNão.
AnimávelSim. grid-gap é animável.
VersãoCSS Grid Layout Module Level 1
Sintaxe DOMobject.style.gridGap = "30px 70px";

Sintaxe

Propriedade CSS grid-gap

grid-gap: <row-gap> <column-gap>;

A propriedade aceita um ou dois valores de comprimento:

  • Um valor define o espaço de linha e o espaço de coluna com o mesmo tamanho.
  • Dois valores definem primeiro o espaço de linha e depois o espaço de coluna (grid-gap: 20px 40px; significa um espaço de 20px entre linhas e um de 40px entre colunas).

Cada valor pode ser qualquer comprimento não negativo (px, em, rem, etc.) ou uma porcentagem. As palavras-chave initial e inherit também são válidas.

Exemplo da propriedade grid-gap:

Exemplo de um container grid com a propriedade grid-gap

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .grid-container {
        display: grid;
        grid-template-columns: auto auto auto auto;
        grid-gap: 60px;
        background-color: #ccc;
        padding: 10px;
      }
      .grid-container > div {
        background-color: #666;
        text-align: center;
        padding: 20px 0;
        font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Grid-gap property example</h2>
    <div class="grid-container">
      <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>9</div>
      <div>10</div>
      <div>11</div>
      <div>12</div>
    </div>
  </body>
</html>

Resultado

![Propriedade CSS grid-gap](/uploads/media/default/0001/04/91075707603fef2480969077540f999b813f30aa.png "Grid com um espaço de 60px entre cada linha e coluna" =420x)

Exemplo da propriedade grid-gap especificada em porcentagens:

Um espaço em porcentagem é calculado com base nas dimensões do próprio container grid — o espaço de coluna é uma porcentagem da largura do container, e o espaço de linha é uma porcentagem da sua altura. Porcentagens são úteis para layouts fluidos, mas fazem o gutter crescer junto com o container, por isso comprimentos fixos costumam ser mais previsíveis.

Exemplo de um container grid onde o espaço de grid é definido por porcentagens

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .grid-container {
        display: grid;
        grid-template-columns: auto auto auto auto;
        grid-gap: 20%;
        background-color: #ccc;
        padding: 10px;
      }
      .grid-container > div {
        background-color: #666;
        text-align: center;
        padding: 20px 0;
        font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Grid-gap property example</h2>
    <div class="grid-container">
      <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>

Exemplo da propriedade grid-gap com dois valores:

Quando você passa dois valores, o primeiro define o espaço de linha e o segundo define o espaço de coluna. Aqui as linhas são separadas por 20px e as colunas por 80px:

Exemplo de uma propriedade CSS grid-gap

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .grid-container {
        display: grid;
        grid-template-columns: auto auto auto auto;
        grid-gap: 20px 80px;
        background-color: #ccc;
        padding: 10px;
      }
      .grid-container > div {
        background-color: #666;
        text-align: center;
        padding: 20px 0;
        font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Grid-gap property example</h2>
    <div class="grid-container">
      <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>9</div>
      <div>10</div>
      <div>11</div>
      <div>12</div>
    </div>
  </body>
</html>

Valores

ValorDescriçãoExperimente
grid-row-gapEspecifica o tamanho do espaço entre as linhas em um layout grid. O valor padrão é 0. Ao usar a sintaxe de dois valores, corresponde ao primeiro valor.
grid-column-gapEspecifica o tamanho do espaço entre as colunas em um layout grid. O valor padrão é 0. Ao usar a sintaxe de dois valores, corresponde ao segundo valor.Experimente »
initialFaz a propriedade usar seu valor padrão.
inheritHerda a propriedade do elemento pai.

Suporte de navegadores

grid-gap é suportado em todos os navegadores modernos. Como é um alias para a propriedade padrão gap, geralmente não é necessário usar os dois. Se você precisar suportar implementações de grid muito antigas, pode usar grid-gap para elas e gap para todo o resto:

.grid {
  display: grid;
  grid-gap: 20px;  /* fallback for legacy browsers */
  gap: 20px;       /* standard property wins where supported */
}

Propriedades relacionadas

Prática

Prática
Qual é o uso da propriedade 'grid-gap' no CSS?
Qual é o uso da propriedade 'grid-gap' no CSS?
Was this page helpful?