Propriedade grid

A propriedade grid representa uma forma abreviada de escrever todas as propriedades de colunas e linhas do contêiner de grid. Todos os valores são escritos em uma única linha, separados por barra.

Através do grid, em uma única linha, pode-se descrever apenas um tipo de propriedades - explícitas (grid-template-rows, grid-template-columns, grid-template-areas) ou implícitas (grid-auto-rows, grid-auto-columns, grid-auto-flow). As propriedades que permanecem não especificadas assumem seus valores padrão.

Sintaxe

csselemento {
  grid: propriedades da grid;
}

Exemplo

Vamos criar uma tabela usando a propriedade grid:

html<div id="parent">
  <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>
css#parent {
  display: grid;
  grid: 1fr 1fr 1fr / 1fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 200px;
}

#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Exemplo

Agora vamos definir para a segunda e terceira linhas a mesma altura, e para cada coluna - uma largura diferente:

html<div id="parent">
  <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>
css#parent {
  display: grid;
  grid: 60px 1fr 60px / 20% 1fr 15%;
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Exemplo

Agora, na tabela do exemplo anterior, vamos fazer a linha superior com altura de duas frações, e a primeira coluna - com metade de uma fração:

html<div id="parent">
  <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>
css#parent {
  display: grid;
  grid: 2fr 1fr 1fr / 0.5fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Veja também

  • a propriedade grid-template,
    que define a quantidade e largura das colunas e linhas para um elemento
  • a propriedade grid-template-rows,
    que define a quantidade e altura das linhas no grid
  • a propriedade grid-template-columns,
    que define a quantidade e largura das colunas no grid
  • a propriedade grid-template-areas,
    que define o posicionamento dos elementos no grid
  • a propriedade grid-auto-flow,
    que define o posicionamento automático dos elementos na grid