- O CSS Flexbox Playground é uma ferramenta de aprendizado para alterar propriedades do Flexbox em tempo real e conferir as mudanças no layout
- Ao ajustar os controles, é possível comparar imediatamente como as configurações de flex afetam a disposição na tela
- O exemplo básico começa com a combinação
display: flex, flex-direction: row, justify-content: space-around, align-items: flex-start e flex-wrap: nowrap
- Os itens de
1 a 5 na tela se movem conforme as configurações mudam, facilitando conferir visualmente o resultado do layout
- É possível copiar o código CSS gerado, o que facilita levar as configurações testadas para o código real
Ferramenta para experimentar Flexbox em tempo real
- O CSS Flexbox Playground é uma ferramenta interativa para aprender e experimentar propriedades do Flexbox
- Ao ajustar os controles, as mudanças no layout são refletidas em tempo real
- É possível copiar o código CSS gerado como resultado dos experimentos
Configuração básica do exemplo
- A configuração de exemplo de
.container usa o seguinte CSS
.container {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: flex-start;
flex-wrap: nowrap;
}
- A tela exibe os itens
1, 2, 3, 4 e 5, permitindo conferir o resultado da disposição com Flexbox
1 comentários
Opiniões no Hacker News
O Flexbox em si é simples e faz sentido, mas os nomes das propriedades e valores foram definidos no estilo “por comitê”, então não são intuitivos
Ao tentar lembrar qual é qual entre
justify-contentealign-items, a pessoa acaba desistindo e vai mudando uma coisa aqui e outra ali até funcionarHá um guia parecido para Grid, e ele também é excelente
Isso é especialmente importante em SPAs, quando as caixas precisam preencher a tela sem transbordar. No fim, você acaba colocando configurações nada intuitivas como
min-width: 0em vários lugares, mexe em mais algumas coisas e, de algum modo, funcionaParece que daria para criar algumas classes CSS que cobririam tudo isso, mas ainda não encontrei uma solução que sirva para todos os casos
display: flex, várias propriedades do Flexbox são visualizadas como ícones, e dá para configurá-las diretamente com cliquesNa prática, qualquer página vira um laboratório de testes
justify-content: centervirajustify-center, ealign-items: centerviraitems-center; não entendo por que fizeram assimjustify-contentdeveria ter sido chamado demain-axis, ealign-items, decross-axisQuando você entende isso, todo o Flexbox fica fácil
Embora já tenha sido bastante mencionado, venho recomendando o Flexbox Froggy https://flexboxfroggy.com/, e outras pessoas também aprenderam rapidamente com ele
Para aprender CSS Grid, https://cssgridgarden.com/ também é bom
É parecido com https://www.codemonkey.com/, que é mais voltado para crianças
Para gerar código Bootstrap, https://build.layoutit.com/ é útil, e para CSS Grid existe https://grid.layoutit.com/. Mas é uma pena que o primeiro só dê suporte até o Bootstrap 4, não ao Bootstrap 5
Recomendo muito o guia do Josh https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/
Ele aborda em detalhes armadilhas e dicas mais avançadas, como
flex-basis, margens automáticas emin-widthEu achava que conhecia razoavelmente bem Flexbox e componentes com Tailwind CSS, mas esse artigo satisfez muito bem minha necessidade de uma base teórica
É um bom playground
Alguns anos atrás, criei um guia interativo com um playground parecido no final: https://lik.ai/guides/an-interactive-guide-to-flexbox/
Às vezes foi útil para refrescar a memória
Chegamos a 2025 e, depois de 2 anos e 3 tutoriais, ainda não consigo usar Flexbox direito
https://flexboxfroggy.com/ também não ajudou muito
justifyealignsempre saem invertidos na primeira tentativaEu lembro de todo tipo de coisa por anos, incluindo layouts com CSS float, mas, se fico alguns meses sem usar Flexbox, esqueço 80% e preciso reler tudo do começo e passar um tempo em playgrounds
O problema é que há nomes de propriedades demais, e muitos deles não são intuitivos ou simplesmente parecem nomes errados. Talvez tivesse dado quase na mesma se tivessem usado nomes simbólicos de uma ou duas letras
Espero que esta ferramenta ajude; se algo estiver faltando, seria bom avisarem
Por que deram a esses atributos os nomes
justify-contentealign-items?main-axis-arrangementecross-axis-alignmentnão fariam mais sentido?O mesmo vale para
color,text-align,position: absoluteeposition: fixed; atéabsolute, tecnicamente, ainda é relativojustify-itemsejustify-self, então há consistênciaMesmo assim, ainda me confundo com
align-contentgrid-templateescreva primeiro o eixo y:y1 / x1 / y2 / x2Além disso, nem começa do 0, então eu sempre esqueço
Um plugin de aliases para Tailwind que mapeie
cross-axis-centerparaalign-items: centeremain-axis-betweenparajustify-content: space-betweenseria rápido de criarClaro que isso pode ser alterado, mas o comportamento padrão do Flexbox é coberto por essa mnemônica
Quando estava aprendendo Flexbox, criei uma cola para consultar as propriedades
Pode ser útil para outras pessoas também: https://darekkay.com/flexbox-cheatsheet/
Como uma cola visual rápida, é bom, mas acho que no fim é preciso usar em vários pontos de projetos para internalizar
A sintaxe geralmente é bem autoexplicativa, mas
rowecolumnsão exceçõesNunca tive grandes dificuldades com a maior parte de Flexbox ou Grid, mas vejo que muita gente se confunde. Entender o box model e usar as ferramentas de desenvolvedor do Firefox ajuda muito ao aprender o modelo do Flexbox. Elas visualizam o contêiner muito bem, e parece que agora as ferramentas de desenvolvedor do Chrome também fazem algo parecido
flexboxfroggy e cssgridgarden também foram úteis para praticar. Mesmo assim, sempre abro a cola da CSS-Tricks para ver a sintaxe e nunca acerto de primeira se é
rowoucolumnÉ possível alternar rapidamente o modo Flex https://imgur.com/a/17iy1eN
Esta ferramenta parece limitada demais, pois trata só de 4 propriedades do contêiner
As propriedades dos itens filhos, que são bastante importantes no Flexbox, ficaram completamente de fora
Seria bom haver uma coleção interessante de desafios para praticar layouts em CSS
Seria legal ter explicações e comentários bem escritos, além de desafios de depuração como “por que este trecho de código não produz o layout desejado?”
O ChatGPT foi bastante útil para depurar problemas de CSS. Nem sempre acerta, mas geralmente aponta a direção correta. Ainda assim, quero entender mais profundamente como o CSS realmente funciona. Já li livros e tutoriais e sei que, no fim, é um conjunto de regras, mas aplicá-las com precisão é difícil
Frequentemente peço para corrigir o CSS e reescrevê-lo para ficar com a aparência desejada, e isso é muito mais rápido do que ficar vasculhando a documentação