🔲
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.