Exemplos Interativos: Flexbox
Playground: Propriedades do Container
Altere as propriedades abaixo e observe o resultado em tempo real:
.container {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
gap: 8px;
}flex-grow interativo
Altere o flex-grow de cada item para ver como o espaço é distribuído:
grow:1
grow:2
grow:1
align-self: sobrescrevendo align-items por item
O container tem align-items: center. Cada item pode sobrescrever com align-self:
(herda)
(align-self)
(herda)
(align-self)
(align-self)
.container { display: flex; align-items: center; }
.start { align-self: flex-start; }
.end { align-self: flex-end; }
.stretch { align-self: stretch; }order: reordenação visual
Os itens aparecem na ordem do HTML, mas order altera a ordem visual sem mudar o markup:
order: 0
order: 0
order: 0
order: 0
Caso prático 1: Centralização perfeita
A técnica mais famosa do Flexbox: centralizar horizontal e verticalmente com apenas 3 linhas.
centralizado
align-items: center
.container {
display: flex;
justify-content: center; /* eixo horizontal */
align-items: center; /* eixo vertical */
height: 180px;
}Caso prático 2: Barra de navegação
Logo à esquerda, links no centro, botão à direita: layout clássico de navbar.
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 24px;
}
.nav-links {
display: flex;
gap: 24px;
list-style: none;
}Caso prático 3: Layout completo com sidebar
Header, sidebar + conteúdo principal e footer: tudo com Flexbox.
.page { display: flex; flex-direction: column; gap: 8px; }
.main { display: flex; gap: 8px; }
.sidebar { flex: 0 0 180px; } /* largura fixa */
.content { flex: 1; } /* ocupa tudo que sobrar */Caso prático 4: Grid de cards responsivo
Com flex: 1 1 200px e flex-wrap: wrap, os cards se reorganizam automaticamente ao redimensionar a janela:
Design
Crie interfaces bonitas e acessíveis
Código
HTML, CSS e JavaScript modernos
Deploy
Publique seu site de forma rápida
Responsivo
Layouts que funcionam em qualquer tela
Performance
Sites rápidos e otimizados
Segurança
Boas práticas de segurança web
.cards {
display: flex;
flex-wrap: wrap;
gap: 16px;
}
.card {
flex: 1 1 200px; /* base 200px, cresce e encolhe */
}