Gerador de CSS Grid
CSS Grid é o jeito padrão de criar layouts 2D, mas a sintaxe do contêiner é fácil de esquecer. Este gerador escreve as regras do contêiner para você: um número fixo de colunas de largura igual, o espaçamento entre as tracks e uma media query que alterna para colunas auto-fit abaixo de uma largura mínima, para o layout continuar legível em telas pequenas. O resultado é CSS puro de contêiner; o posicionamento dos itens fica por conta da sua própria folha de estilos.
Como construir uma grade
-
1
Defina o número de colunas
Entre 1 e 12 tracks de largura igual.
-
2
Defina a largura mínima das colunas
Abaixo dessa largura a grade muda para auto-fit, para cada coluna manter um tamanho mínimo utilizável.
-
3
Defina o espaçamento
O espaço entre colunas e linhas.
-
4
Gere o CSS
A ferramenta escreve as regras do contêiner mais o fallback responsivo.
-
5
Copie o código
Cole as regras do contêiner na sua folha de estilos e posicione os itens com suas próprias regras `grid-column` / `grid-row`.
O contêiner gerado
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
@media (max-width: 660px) {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
repeat(3, minmax(0, 1fr)): três colunas que dividem igualmente a largura disponível.1fré uma fração do espaço restante;minmax(0, 1fr)permite que as colunas encolham abaixo do tamanho do conteúdo.gap: o espaço entre cada track.- A media query muda para
repeat(auto-fit, minmax(220px, 1fr)), que cria quantas colunas couberem, cada uma com pelo menos 220px. O ponto de quebra é o número de colunas vezes a largura mínima (com um piso de 120px), então em telas pequenas a grade reorganiza as linhas em vez de espremer as colunas.
A unidade fr
fr significa “uma fração do espaço restante”: depois de subtrair as tracks de tamanho fixo, o espaço restante é dividido pelo número total de unidades fr.
grid-template-columns: 200px 1fr 2fr;
Em um contêiner de 1000px, a primeira coluna ocupa 200px e os 800px restantes se dividem 1:2, ou seja, 267px e 533px.
auto-fill vs. auto-fit
auto-fill: cria tracks vazias de preenchimento quando não há itens suficientes.auto-fit: colapsa as tracks vazias a zero, então os itens restantes se esticam para preencher a linha.
O fallback responsivo usa auto-fit, que é o que as grades de cards querem: a linha sempre parece cheia.
Colunas de larguras diferentes
O gerador emite colunas iguais. Edite o resultado para misturar tamanhos: grid-template-columns: 200px 1fr 2fr; dá uma barra lateral fixa e duas colunas flexíveis na proporção 1:2. Para áreas nomeadas (grid-template-areas) ou posicionamento explícito (grid-column: 1 / 3), adicione essas regras manualmente por cima do contêiner gerado.
Grid vs. Flexbox
- Grid: layout 2D explícito com tracks. Bom quando o layout tem estrutura de linhas e colunas (esqueleto de página, galeria, painel).
- Flexbox: alinhamento 1D ao longo de um único eixo. Bom quando os itens fluem naturalmente (barra de navegação, fileira de botões).
Layouts reais costumam combinar os dois: Grid para o esqueleto da página e Flexbox dentro dos componentes.
Erros comuns
- Esquecer
min-width: 0nos filhos: os itens da grade usam por padrão a largura mínima do conteúdo, o que impede as colunasfrde encolherem abaixo da palavra mais longa. Definamin-width: 0nos filhos para deixá-los encolher. - Aninhar sem
display: grid: um filho da grade não é em si uma grade, a menos que você declare.
Perguntas frequentes
Ela protege o layout em telas pequenas. A media query gerada muda para repeat(auto-fit, minmax(largura, 1fr)), então cada coluna mantém pelo menos essa largura e a grade cria mais linhas em vez de espremer as colunas.
O gerador emite colunas iguais. Edite a linha grid-template-columns do resultado para misturar tamanhos, por exemplo 1fr 2fr 1fr para uma coluna central larga, ou 200px 1fr para uma barra lateral fixa.
Geralmente porque o item tem o min-width: auto padrão, que equivale à largura mínima do conteúdo. Defina min-width: 0 no item da grade para ele encolher dentro da célula.
Grid quando o layout tem estrutura de linhas e colunas (uma página, uma galeria de fotos, um painel). Flexbox quando os itens fluem ao longo de um único eixo (uma barra de navegação, uma fileira de botões, uma pilha de campos de formulário).
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.
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.
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 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.
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.
Ferramenta disponível em outros idiomas
- เครื่องมือสร้าง CSS Grid [TH]
- Trình tạo CSS Grid [VI]
- CSS Grid 생성기 [KO]
- CSS Grid-generator [SV]
- Generator CSS Grid [PL]
- Generator CSS Grid [ID]
- CSS Grid-generator [NL]
- CSS-Grid-Generator [DE]
- Generador de CSS Grid [ES]
- مولّد CSS Grid [AR]
- Générateur de CSS Grid [FR]
- CSS Grid 生成 [JA]
- CSS Grid Generator [EN]
- Generatore di CSS Grid [IT]
- Генератор CSS Grid [RU]
- CSS Grid Oluşturucu [TR]
- CSS Grid 生成器 [ZH]