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
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Papel de Parede em Gradiente
Gere papéis de parede em gradiente borrados de três cores para laptop, telefone ou fundos do Zoom. Randomize ou defina o ângulo e o desfoque manualmente.
Gerador de Cores Análogas
Crie uma paleta análoga de cinco cores a partir de qualquer cor base, com o trio clássico, dois tons externos e valores hex, RGB e HSL.
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Ferramenta disponível em outros idiomas
- CSS Flexbox Üretici [TR]
- Generador de CSS Flexbox [ES]
- مولد CSS Flexbox [AR]
- Générateur CSS Flexbox [FR]
- CSS Flexbox-generator [NL]
- CSS Flexbox 생성기 [KO]
- Generator Flexbox CSS [ID]
- CSS Flexbox Generator [EN]
- Trình tạo Flexbox CSS [VI]
- CSS Flexbox 生成器 [ZH]
- CSS Flexboxジェネレーター [JA]
- ตัวสร้าง CSS Flexbox [TH]
- CSS-Flexbox-Generator [DE]
- CSS Flexbox-generator [SV]
- Generator flexboxa CSS [PL]
- Generatore CSS Flexbox [IT]
- Генератор CSS Flexbox [RU]