Gerador de CSS Flexbox
Flexbox é a escolha ideal para layout unidimensional: linhas de cartões, barras de navegação, heróis centralizados, formulários. O modelo de contêiner e item é poderoso, mas suas propriedades interagem de maneiras pouco óbvias. Este gerador elimina as suposições na configuração do contêiner: escolha flex-direction, justify-content, align-items, flex-wrap e gap, e obtenha uma regra CSS limpa para copiar direto para sua folha de estilos.
Como gerar o CSS
-
1
Escolha uma direção
Escolha row, column ou as variantes invertidas. Isso define flex-direction, o eixo pelo qual os itens fluem.
-
2
Defina justify-content
Escolha como os itens se distribuem no eixo principal: início, centro, space-between, space-around ou fim.
-
3
Defina align-items
Escolha como os itens se alinham no eixo cruzado: stretch, início, centro ou fim.
-
4
Defina gap e wrap
Adicione espaçamento entre os itens em pixels e decida se os itens quebram para uma nova linha.
-
5
Copie o CSS
O gerador produz a regra do contêiner com todas as propriedades, pronta para colar na sua folha de estilos.
Propriedades do contêiner
| Propriedade | Valores | Efeito |
|---|---|---|
flex-direction |
linha / coluna / linha-reversa / coluna-reversa | Eixo principal |
flex-wrap |
nowrap / wrap / wrap-reverse | Se os itens se envolvem |
justify-content |
flex-start / center / flex-end / space-between / space-around / space-evenly | Distribuição do eixo principal |
align-items |
flex-start / center / flex-end / baseline / stretch | Alinhamento do eixo cruzado de cada linha |
align-content |
mesmos valores + space-between / space-around | Quando envolvido, distribuição do eixo cruzado das linhas |
gap (row-gap, column-gap) |
comprimento | Espaçamento entre itens |
Propriedades do item
| Propriedade | Valores | Efeito |
|---|---|---|
flex-grow |
0+ (sem unidade) | Parte do espaço restante a ser absorvido |
flex-shrink |
0+ (sem unidade) | Parte do excesso a ser reduzido |
flex-basis |
comprimento ou auto | Tamanho inicial antes de crescer/reduzir |
flex |
abreviação (1 1 auto, etc.) |
Todos três de uma vez |
align-self |
auto / flex-start / center / flex-end / baseline / stretch | Substitui align-items para um item |
order |
inteiro | Reordenação visual sem mudar o DOM |
O truque flex: 1
flex: 1 é uma abreviação para flex: 1 1 0%. Faz um item:
- Crescer para preencher o espaço disponível (crescer: 1)
- Reduzir se necessário (reduzir: 1)
- Começar do tamanho zero (base: 0%)
Para colunas de largura igual, flex: 1 em cada item proporciona uma divisão perfeita. Para barras laterais que não devem encolher abaixo do conteúdo, use flex: 0 0 240px (sem crescimento, sem encolhimento, base de 240px).
Padrões comuns
Herói centralizado
.hero {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
Navbar com logo à esquerda, links à direita
.nav {
display: flex;
align-items: center;
gap: 2rem;
}
.nav-links {
margin-left: auto; /* empurrar para a direita */
display: flex;
gap: 1rem;
}
Linha de cartões responsiva
.card-row {
display: flex;
flex-wrap: wrap;
gap: 1.5rem;
}
.card {
flex: 1 1 260px; /* crescer/reduzir, 260px mínimo antes de envolver */
}
Campo de formulário com botão (input flexível, botão fixo)
.field {
display: flex;
gap: 0.5rem;
}
.field input {
flex: 1;
}
.field button {
flex: 0 0 auto;
}
Flexbox vs. Grid
- Flexbox: uma dimensão (linha OU coluna). Melhor quando os tamanhos dos itens são impulsionados pelo conteúdo ou quando você distribui espaço ao longo de uma única linha.
- Grid: duas dimensões (linhas E colunas com trilhas explícitas). Melhor quando o layout tem estrutura de linha e coluna simultaneamente.
Para uma barra de navegação ou uma pilha de cartões: Flexbox. Para um grid de cartões de produto com várias linhas de cartões alinhados: CSS Grid. Muitas páginas reais usam ambos, um layout de página Grid com Flexbox dentro dos componentes.
Armadilhas comuns
- Itens não preenchendo o contêiner: o padrão
align-items: stretchse aplica apenas se os itens não tiverem altura fixa. Com altura explícita, eles permanecem nesse tamanho. gapnão funcionando: verifique o suporte do navegador. O gap flex chegou tarde; Safari <14.1 não o suportava. Agora é universal em 2024+.- Filhos de coluna flex colapsando: uma coluna flex tem
align-items: stretchcomo padrão, o que estica os itens para a largura do contêiner. Se um filho definir uma largura, ele se rompe. orderé apenas visual: leitores de tela e navegação por teclado seguem a ordem do DOM. Não useorderpara fazer o conteúdo fazer sentido; use-o apenas para polimento visual.
Perguntas frequentes
Grid para layouts de página bidimensionais (linhas e colunas juntas). Flexbox para distribuições unidimensionais (barra de navegação, linha de botões, pilha). Dentro de uma célula Grid, Flexbox para seu layout interno. A maioria das UIs complexas usa ambos.
Porque o padrão de flex-shrink é 1, mas o padrão de min-width é auto, que equivale à largura do conteúdo. Defina min-width: 0 (ou min-inline-size: 0) no item para permitir que ele encolha abaixo de seu tamanho intrínseco.
display: flex; justify-content: center; align-items: center; no contêiner. Cobre a grande maioria dos casos de “centralizar isso” com duas linhas.
Sim, em todos os navegadores modernos. O Safari foi tardio (adicionado em 14.1, abril de 2021); hoje todos os principais navegadores o suportam. Substitua o espaçamento baseado em margin por gap sempre que puder, muito mais simples.
Ferramentas relacionadas
Gerador de Cartão CSS
Crie o CSS de um contêiner de cartão: fundo, borda, raio dos cantos, espaçamento interno e sombra suave, com pré-visualização imediata e código para copiar e colar.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Gerador de README
Gere um README.md estruturado a partir de alguns campos: nome do projeto, tagline, recursos, comando de instalação, trecho de início rápido, autor e licença. Cole direto no seu repositório.
Ferramenta disponível em outros idiomas
- CSS Flexboxジェネレーター [JA]
- CSS Flexbox-generator [NL]
- Generador de CSS Flexbox [ES]
- Trình tạo Flexbox CSS [VI]
- مولد CSS Flexbox [AR]
- CSS Flexbox 생성기 [KO]
- ตัวสร้าง CSS Flexbox [TH]
- CSS Flexbox-generator [SV]
- Générateur CSS Flexbox [FR]
- Generator Flexbox CSS [ID]
- CSS-Flexbox-Generator [DE]
- Generator flexboxa CSS [PL]
- CSS Flexbox Generator [EN]
- Generatore CSS Flexbox [IT]
- Генератор CSS Flexbox [RU]
- CSS Flexbox Üretici [TR]
- CSS Flexbox 生成器 [ZH]