🔲
CSSIntermediário 6 min

CSS Grid ou Flexbox?

Quando usar cada um. A resposta curta: depende da dimensão do layout.

Flexbox e Grid não competem — resolvem problemas diferentes. A regra mental mais útil é uma só: dimensões.

1D vs 2D

  • Flexbox: layout em UMA dimensão (linha OU coluna). Ideal para navbars, listas, toolbars.
  • Grid: layout em DUAS dimensões (linhas E colunas). Ideal para o esqueleto da página, galerias, dashboards.
css
/* Grid: o esqueleto 2D da página */
.pagina {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "nav header"
    "nav main"
    "nav footer";
}

/* Flexbox: a navbar 1D */
.navbar {
  display: flex;
  align-items: center;
  gap: 12px;
}

Use os dois juntos sem culpa: Grid para a macroestrutura, Flexbox para os grupinhos internos de cada região.