Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Inverter colunas no grid

Oi pessoal!

Tenho uma dúvida sobre o uso do grid. No projeto apresentado neste curso, dividimos a primeira seção em duas colunas, onde a primeira (lado esquerdo) tem todo o conteúdo (h1, imagem e botões). Estou fazendo um projeto similar, mas preciso que a coluna com os conteúdos seja a segunda do grid (lado direito), ou seja, preciso inverter as colunas. Existe alguma propriedade do grid que faça isso?

Obrigada!

1 resposta
solução!

Oi, Juliana. Tudo bem?

Sim, é possível inverter as colunas em um layout de grid utilizando a propriedade grid-template-areas ou a propriedade order. Vou te mostrar como fazer isso com um exemplo prático.

Usando grid-template-areas

Primeiro, definimos as áreas do grid e depois atribuímos essas áreas aos elementos.

<div class="container">
  <div class="coluna1">Conteúdo da coluna 1</div>
  <div class="coluna2">Conteúdo da coluna 2</div>
</div>

E no CSS:

.container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "coluna2 coluna1";
}

.coluna1 {
  grid-area: coluna1;
}

.coluna2 {
  grid-area: coluna2;
}

Usando order

Outra forma de fazer isso é utilizando a propriedade order, que permite reordenar os itens dentro do grid. Aqui está um exemplo:

<div class="container">
  <div class="coluna1">Conteúdo da coluna 1</div>
  <div class="coluna2">Conteúdo da coluna 2</div>
</div>

E no CSS:

.container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px; /* Espaçamento entre as colunas */
}

.coluna1 {
  background-color: #f0f0f0;
  padding: 20px;
  order: 2; /* A coluna 1 será exibida em segundo */
}

.coluna2 {
  background-color: #d0d0d0;
  padding: 20px;
  order: 1; /* A coluna 2 será exibida em primeiro */
}

Ambas as abordagens funcionam bem, então você pode escolher a que achar mais intuitiva para o seu projeto.

Um abraço e bons estudos.