Abreviação para linhas e colunas em Grids CSS

Há situações em que é conveniente especificar os tamanhos das linhas e colunas de forma abreviada. Para isso, usamos a propriedade grid-template, que é especificada no elemento pai e representa uma forma abreviada de escrever duas propriedades: grid-template-rows e grid-template-columns.

As linhas e colunas para o contêiner grid são especificadas por uma barra, e seus tamanhos são definidos em unidades de medida.

Exemplo

Vamos usar a propriedade grid-template para criar uma tabela:

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-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Exemplo

Agora, vamos definir a segunda e a terceira linhas com a mesma largura, e cada coluna com 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-template: 60px 1fr 60px / 20% 1fr 15%;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Exemplo

Agora, na tabela do exemplo anterior, vamos fazer a linha superior ter uma largura de duas frações, e a primeira coluna - meia 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-template: 2fr 1fr 1fr / 0.5fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Tarefas Práticas

Задание 1

Implemente o seguinte layout:

Задание 2

Implemente o seguinte layout:

Задание 3

Implemente o seguinte layout:

Задание 4

Implemente o seguinte layout:

Задание 5

Implemente o seguinte layout: