5.8 Flexbox

Flexbox

Permite organizar elementos de forma flexível e responsiva.

cssCopiar código.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

🔹 Quando usar? ✔️ Alinhar itens em uma direção (linha ou coluna) ✔️ Distribuir espaços uniformemente ✔️ Criar layouts responsivos sem cálculos complexos


Ativação do Flexbox

cssCopyDownload

.container {
  display: flex; /* ✨ Ativa o Flexbox! */
}

🛠️ Propriedades Principais

1️⃣ Direção do Layout (flex-direction)

Define se os itens ficam em linha (row) ou coluna (column).

Valor
Descrição

row (padrão)

→ Itens na horizontal

column

↓ Itens na vertical

row-reverse

← Itens na horizontal (invertido)

column-reverse

↑ Itens na vertical (invertido)

📌 Exemplo:

cssCopyDownload


2️⃣ Alinhamento (justify-content e align-items)

↕️ justify-content (alinhamento horizontal se flex-direction: row)

Valor
Efeito

flex-start

Alinha à esquerda (padrão)

flex-end

Alinha à direita

center

Centraliza

space-between

Espaço igual entre itens

space-around

Espaço ao redor dos itens

↔️ align-items (alinhamento vertical se flex-direction: row)

Valor
Efeito

flex-start

Topo

flex-end

Base

center

Meio

stretch

Estica (padrão)

📌 Exemplo:

cssCopyDownload


3️⃣ Quebra de Linha (flex-wrap)

Controla se os itens quebram para a próxima linha quando não cabem.

Valor
Descrição

nowrap (padrão)

Não quebra (itens encolhem)

wrap

Quebra em múltiplas linhas

wrap-reverse

Quebra invertido

📌 Exemplo:

cssCopyDownload


4️⃣ Crescimento e Encolhimento (flex-grow, flex-shrink, flex-basis)

  • flex-grow: Define quanto um item cresce em relação aos outros.

  • flex-shrink: Define quanto um item encolhe em relação aos outros.

  • flex-basis: Tamanho inicial antes do espaço ser distribuído.

📌 Exemplo:

cssCopyDownload


🏆 Exemplo Prático (Menu Responsivo)

htmlCopyDownloadRun

cssCopyDownload

Atualizado