Gerador de várias colunas CSS

Crie layouts em múltiplas colunas estilo jornal com pré-visualização em tempo real. Ajuste colunas, espaço, estilo e largura do filete.

Pré-visualização
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.
Código CSS

    

O que é o layout multicoluna CSS

O módulo CSS Multi-column Layout (a especificação W3C «CSS Multi-column Layout Module Level 1») redistribui automaticamente o conteúdo de um único elemento por duas ou mais colunas, do mesmo modo que a impressão de jornais e revistas trata textos longos há séculos. Você declara quantas colunas quer (ou a largura desejada de cada coluna) e o navegador distribui o conteúdo de cima para baixo, da esquerda para a direita, equilibrando o número de linhas para que cada coluna termine aproximadamente na mesma altura. O módulo tornou-se Candidate Recommendation do W3C em abril de 2011 e chegou de forma utilizável aos navegadores entre Firefox 3.5 (junho de 2009) e IE 10 (outubro de 2012). É um recurso básico da plataforma web há mais de uma década. Diferente de Flexbox ou Grid (que alinham elementos filhos discretos em posições conhecidas) o layout multicoluna trata o conteúdo como um fluxo contínuo único que o navegador secciona em colunas conforme a altura disponível.

Quando colunas CSS são a ferramenta certa

column-count vs column-width, a distinção mais importante

Duas formas de especificar colunas, e a escolha importa para design responsivo. column-count: 3 codifica três colunas fixas, em qualquer largura de viewport, o navegador produz exatamente três colunas, que ficam mais estreitas à medida que o contêiner encolhe. Num celular, três colunas viram fatias finas ilegíveis. column-width: 250px pede em vez disso colunas «de pelo menos 250 pixels de largura»; o navegador calcula quantas cabem no contêiner e reorganiza automaticamente quando a viewport muda. Telas largas recebem muitas colunas, telas estreitas poucas ou uma, sem uma única media query. O padrão combinado é a melhor prática moderna: columns: 250px 4 (atalho de column-width mais column-count) significa «colunas de 250 px de largura, mas nunca mais de 4». O navegador produz 4 colunas num desktop largo, menos num tablet, uma só num celular, responsivo automático. A maior parte do CSS de produção usa essa forma combinada pela robustez.

Controlar onde o conteúdo quebra

Por padrão o navegador quebra colunas onde calhar, o que às vezes separa um cabeçalho do seu primeiro parágrafo, ou parte um cartão ao meio. A propriedade CSS break-inside: avoid (CSS Fragmentation Module Level 3) diz ao navegador «não divida este elemento entre colunas», tipicamente aplicada a cartões, figuras e qualquer conteúdo que deva ficar junto. break-before: column força uma quebra de coluna antes de um elemento, útil para «comece cada seção numa nova coluna». column-span: all faz com que um cabeçalho ou destaque se estenda por toda a largura através de todas as colunas, saindo do fluxo de colunas, típico para o título do artigo acima de um corpo multicoluna.

Armadilhas a observar

O layout multicoluna tem interações sutis que vale a pena conhecer. A ordem de leitura em leitores de tela segue a ordem do DOM, que geralmente coincide com a ordem visual de topo-para-base das colunas, mas tecnologia assistiva pode ocasionalmente se confundir em layouts complexos. A paginação na impressão com multicoluna pode produzir equilíbrios estranhos entre quebras de página; teste com folha de estilo de impressão se a saída em papel importa. Conteúdo longo enche para baixo: se você der a um contêiner multicoluna uma altura fixa menor do que o conteúdo precisa, ele transborda; se não restringir a altura, o navegador equilibra as colunas para alturas aproximadamente iguais. Conteúdo ancorado (formulários, elementos interativos que precisam ficar num lugar) funciona mal em colunas porque o usuário não sabe onde olhar. Misturar com Grid ou Flexbox no mesmo nível produz resultados imprevisíveis, escolha um método de layout por contêiner.

Propriedades CSS geradas

Ferramentas relacionadas

Gerador de grade CSS Visualizador de modelo de caixa CSS Gerador de CSS Flexbox Gerador de caminhos de recorte CSS