W3docs

Propriedade CSS grid-area

A propriedade CSS grid-area define o tamanho e a localização dos itens nas linhas do contêiner grid. Veja exemplos e experimente.

A propriedade grid-area é usada para especificar o tamanho e a localização do item de grid dentro do contêiner grid. É uma propriedade abreviada para as seguintes propriedades, aplicadas na ordem: row-start, column-start, row-end, column-end:

A propriedade grid-area também especifica um nome para um item de grid. Em seguida, os itens de grid nomeados podem ser referenciados pela propriedade grid-template-areas do contêiner grid.

Valor Inicialauto / auto / auto / auto
Aplica-se aItens de grid.
HerdadoNão.
AnimávelNão.
VersãoCSS Grid Layout Module Level 1
Sintaxe DOMelement.style.gridArea = "1 / 2 / span 2 / span 3";

Sintaxe

grid-area: <grid-line> / <grid-line> / <grid-line> / <grid-line> | <custom-ident> | initial | inherit;

Nota: A abreviação aceita de 1 a 4 valores. Se menos de 4 valores forem fornecidos, os valores ausentes assumem o padrão auto. A palavra-chave span pode ser usada para os valores finais (ex.: span 2).

Exemplo

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .box1 {
        grid-area: header;
      }
      .box2 {
        grid-area: left;
      }
      .box3 {
        grid-area: main;
      }
      .box4 {
        grid-area: right;
      }
      .box5 {
        grid-area: footer;
      }
      .grid-container {
        display: grid;
        grid-template-areas: 'header header header header header header' 'left main main main right right' 'left footer footer footer footer footer';
        gap: 5px;
        background-color: #555;
        padding: 10px;
      }
      .grid-container > div {
        background-color: #ccc;
        text-align: center;
        padding: 30px 0;
        font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Grid-area property example</h2>
    <p>You can use the grid-area property to name grid items.</p>
    <div class="grid-container">
      <div class="box1">Header</div>
      <div class="box2">Left</div>
      <div class="box3">Main</div>
      <div class="box4">Right</div>
      <div class="box5">Footer</div>
    </div>
  </body>
</html>

Resultado

Propriedade CSS grid-area

No exemplo a seguir, o elemento box1 recebe o valor itemname, que abrange todas as cinco colunas definidas no template de grid. Note que, como o grid define apenas 5 colunas, os itens restantes fluem automaticamente para a próxima linha (posicionamento implícito no grid).

Você também pode posicionar um item pelos números das linhas do grid em vez de um nome. Os quatro valores seguem a ordem row-start / column-start / row-end / column-end, e a palavra-chave span indica ao item quantas faixas ele deve cobrir. No exemplo abaixo, grid-area: 1 / 1 / 3 / 3; faz o item começar na primeira linha e coluna e terminar na terceira linha e coluna, cobrindo assim uma área 2×2.

Exemplo com números de linha do grid

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .box1 {
        /* row-start / column-start / row-end / column-end */
        grid-area: 1 / 1 / 3 / 3;
        background-color: #8ebf42;
      }
      .grid-container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 60px;
        gap: 5px;
        background-color: #555;
        padding: 5px;
      }
      .grid-container > div {
        background-color: #eee;
        text-align: center;
        font-size: 20px;
      }
    </style>
  </head>
  <body>
    <h2>Placing an item with line numbers</h2>
    <div class="grid-container">
      <div class="box1">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 com valor itemname

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .box1 {
        grid-area: itemname;
      }
      .grid-container {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-areas: 'itemname itemname itemname itemname itemname';
        gap: 5px;
        background-color: #8ebf42;
        padding: 5px;
      }
      .grid-container > div {
        background-color: #eee;
        text-align: center;
        padding: 20px 0;
        font-size: 20px;
      }
    </style>
  </head>
  <body>
    <h2>Grid-area property example</h2>
    <div class="grid-container">
      <div class="box1">1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
      <div>6</div>
    </div>
  </body>
</html>

Valores

ValorDescrição
<grid-line>Especifica a linha do grid onde o item começa ou termina. Aceita um número, span <number> ou auto.
custom-identEspecifica um nome para o item (usado com grid-template-areas).
initialDefine a propriedade com seu valor padrão.
inheritHerda a propriedade do elemento pai.

Prática

Prática
Qual é a finalidade da propriedade CSS 'grid-area'?
Qual é a finalidade da propriedade CSS 'grid-area'?
Was this page helpful?