Gerador CSS Grid — Builder Visual com Saída Tailwind e CSS
Monte qualquer layout CSS Grid visualmente — ajuste colunas, linhas, gap e spans dos itens e veja o grid atualizar em tempo real. Este gerador css grid exporta o layout como CSS puro e classes Tailwind ao mesmo tempo, algo que nenhum outro grid generator oferece. Comece de um preset (Holy Grail, Dashboard, Card Grid) ou do zero.
Além do básico, você tem um editor visual de grid-template-areas para layouts nomeados, breakpoints responsivos com media queries mobile-first e um laboratório interativo de auto-fill vs auto-fit — a parte mais confusa do CSS Grid finalmente explicada na prática.
Como Usar o Gerador CSS Grid
Do grid em branco ao código pronto para produção em menos de um minuto:
- Escolha um preset ou defina os tracks — clique em Holy Grail, Dashboard, Card Grid, Magazine, Mosaic, App Shell ou 12-Column, ou arraste os sliders de Colunas e Linhas. O canvas interativo atualiza na hora.
- Ajuste os itens — no modo Spans, clique em qualquer item do canvas e mude col-span, row-span e posição inicial. No modo Áreas Nomeadas, digite nomes (header, sidebar, main) direto na matriz do editor e o layout se reorganiza ao vivo.
- Refine os tracks — digite tamanhos personalizados como
200px 1fr minmax(150px, 1fr)para misturar colunas fixas e flexíveis; canvas e código refletem cada mudança. - Copie o código — alterne entre as abas Tailwind, CSS, HTML e Responsivo e clique em Copiar (ou pressione Shift+Enter). A aba Responsivo gera media queries mobile-first automaticamente.
Exemplos do Gerador CSS Grid
Algumas configurações reais e o código exato que o gerador produz:
Exemplo — grade de cards com 3 colunas:
Config: 3 colunas, 2 linhas, gap 16px
CSS: display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
Tailwind: grid grid-cols-3 grid-rows-2 gap-4
Exemplo — layout Holy Grail (áreas nomeadas):
Config: colunas 200px 1fr 200px, áreas "header header header" / "sidebar main aside" / "footer footer footer"
CSS: grid-template-areas: "header header header" "sidebar main aside" "footer footer footer";
.header { grid-area: header; } …
Exemplo — item ocupando 2 colunas:
Config: item 1 com col-span 2
CSS: .item-1 { grid-column: span 2; }
Tailwind: <div class="col-span-2">1</div>
Exemplo — tracks personalizados com minmax (caso especial):
Config: grid-template-columns: 200px 1fr minmax(150px, 1fr)
Tailwind: grid-cols-[200px_1fr_minmax(150px,1fr)] ← valor arbitrário, gerado automaticamente
Exemplo — célula vazia nas áreas nomeadas (caso especial):
Config: deixe uma célula em branco no editor de áreas
Saída: grid-template-areas: "header header" ". main" ← o ponto é uma célula vazia válida
CSS Grid — O Que É e Por Que Importa
CSS Grid Layout é um sistema de layout bidimensional que controla colunas e linhas simultaneamente. Diferente do Flexbox, que é unidimensional (uma linha OU coluna), o Grid posiciona itens nos dois eixos ao mesmo tempo — ideal para layouts de página, dashboards, grades de cards e qualquer UI onde elementos precisam se alinhar na horizontal e na vertical.
A unidade fr é o superpoder do Grid: representa uma fração do espaço restante após os tracks fixos serem colocados. grid-template-columns: 200px 1fr 1fr em um container de 800px gera uma sidebar de 200px e duas colunas de 300px — sem matemática de porcentagem. Combinada com minmax() e repeat(auto-fill, …), permite grids totalmente responsivos sem escrever uma única media query.
Casos de Uso Comuns
- Layouts de página (Holy Grail): header, footer e três colunas no meio em seis linhas de CSS — um layout que antes exigia hacks com float. O preset Holy Grail gera tudo na hora.
- Dashboards: sidebar fixa mais área de conteúdo flexível com zonas de stats e widgets. Áreas nomeadas mantêm o CSS legível conforme o dashboard cresce.
- Galerias de produtos/cards:
repeat(auto-fill, minmax(250px, 1fr))cria uma galeria que reflui de 4 colunas para 1 conforme a viewport encolhe — zero breakpoints. - Projetos Tailwind: a aba Tailwind gera
grid-cols-*,col-span-*e valores arbitrários comogrid-cols-[200px_1fr], prontos para colar em componentes React, Vue ou Svelte. - Layouts editoriais/revista: combine um hero de largura total com colunas assimétricas usando o preset Magazine e ajuste os spans por bloco.
Erros Comuns com CSS Grid
- Usar auto-fit quando queria auto-fill: com poucos itens,
auto-fitestica todos pela linha inteira — um único card pode ocupar o container todo. Use o laboratório abaixo do canvas para comparar antes de decidir. - Áreas nomeadas não retangulares:
grid-template-areasexige que cada área forme um retângulo. Uma área em "L" invalida silenciosamente o template inteiro e o browser cai no posicionamento automático. - Confundir fr com %:
1fré uma fração do espaço que sobra, enquanto33%é fração do container total — porcentagens combinadas comgapcausam overflow;frdesconta os gaps automaticamente. - Spans maiores que o número de tracks: um item com
col-span-4em um grid de 3 colunas força uma quarta coluna implícita. O gerador limita os spans ao número de colunas no preview para deixar isso visível.
Perguntas Frequentes
Qual a diferença entre auto-fill e auto-fit no CSS Grid?
Ambos criam tantos tracks quanto couberem no container com repeat(). A diferença aparece quando os itens não preenchem a linha: auto-fill mantém os tracks vazios, preservando tamanhos consistentes, enquanto auto-fit colapsa os tracks vazios e os itens existentes esticam para preencher o espaço. Use auto-fit em galerias que devem sempre ocupar a largura toda; use auto-fill quando a consistência dos tamanhos importa mais.
O que é a unidade fr no CSS Grid?
A unidade fr (fração) representa uma fração do espaço disponível após os tracks de tamanho fixo serem posicionados. Por exemplo, grid-template-columns: 200px 1fr 1fr em um container de 800px resulta em 200px, 300px e 300px. Diferente de porcentagens, fr opera sobre o espaço restante e desconta os gaps, sendo mais confiável ao misturar tracks fixos e flexíveis.
Como fazer um grid responsivo sem media queries?
Use grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)). Isso cria tantas colunas de no mínimo 250px quanto couberem no container e ajusta a quantidade automaticamente conforme a viewport muda — 4 colunas no desktop, 2 no tablet, 1 no mobile, sem nenhuma media query. O laboratório auto-fill vs auto-fit deste gerador permite testar o padrão ao vivo.
Como funciona grid-template-areas?
Define o layout como um mapa visual de texto: cada string entre aspas é uma linha, cada palavra é uma área nomeada e o ponto (.) marca célula vazia. Os elementos são atribuídos com grid-area: nome. A restrição é que toda área precisa ser retangular — repita o nome em células vizinhas para uma área ocupar várias colunas ou linhas. O modo Áreas Nomeadas deste gerador monta o template enquanto você digita os nomes nas células.
Posso exportar o grid como classes Tailwind?
Sim — a aba Tailwind converte sua configuração em classes utilitárias em tempo real: grid-cols-3, gap-4, col-span-2 e assim por diante. Tracks personalizados viram valores arbitrários como grid-cols-[200px_1fr_200px], e áreas nomeadas usam a sintaxe de propriedade arbitrária do Tailwind ([grid-area:header]) — até layouts complexos funcionam sem mexer na config do Tailwind.
Recursos
- MDN — CSS Grid Layout — A referência definitiva de todas as propriedades do Grid, com exemplos interativos.
- CSS-Tricks — A Complete Guide to CSS Grid — A cheatsheet visual mais popular das propriedades de container e item.
- W3C — CSS Grid Layout Module Level 2 — A especificação oficial, incluindo subgrid.