Guia rápido de flexbox e grid

Guia rápido de flexbox e grid (interativo) com Tailwind | We.Inc

Todas as propriedades de flexbox e CSS grid em um contêiner ao vivo que você pode alterar, um construtor de grid-template-areas, um guia para decidir entre flex e grid e as classes Tailwind.

Guia rápido de flexbox e grid

O flexbox organiza os itens em uma só direção, uma linha ou uma coluna, e é ideal para barras de ferramentas, menus de navegação e centralização. O grid posiciona os itens em linhas e colunas ao mesmo tempo e serve para layouts de página e galerias de cards. Defina display: flex ou display: grid no elemento pai e use as propriedades abaixo; cada uma delas atualiza um contêiner ao vivo aqui.

Flexbox ou grid?

Dois contêineres ao vivo, um flex e um grid, com um controle para cada propriedade do contêiner e para um item escolhido. Cada alteração mostra o CSS e a classe Tailwind. Logo abaixo, pinte um layout de página no construtor de grid-template-areas e copie o resultado. As tabelas de referência saem bem na impressão.

Perguntas frequentes

Qual é a diferença entre justify-content e align-items?

justify-content atua ao longo do eixo principal, que em uma linha flex vai da esquerda para a direita. align-items atua no eixo transversal, de cima para baixo em uma linha. Mude flex-direction para column e os dois trocam de direção física, e é por isso que às vezes a centralização parece usar a propriedade errada.

Por que justify-content não faz nada?

Ele só tem efeito quando sobra espaço no eixo principal. Se um item tem flex-grow: 1 ou os itens preenchem a linha, não sobra nada para distribuir. No grid, justify-content move o conjunto inteiro de trilhas, enquanto justify-items alinha os itens dentro das suas próprias células.

Como funcionam as grid-template-areas?

Você desenha o layout como strings, uma por linha, com um nome para cada célula, como "header header" "side main". Cada filho então reivindica um nome com grid-area: header. As áreas precisam formar retângulos, e um ponto marca uma célula vazia.

Posso usar flexbox dentro de grid?

Sim, e é comum. O grid posiciona as grandes regiões ou os cards, e o flexbox organiza o conteúdo dentro de cada um, como um ícone ao lado de um rótulo ou um rodapé fixado na parte de baixo de um card.

O gap funciona no flexbox?

Sim. Todos os principais navegadores atuais suportam gap em contêineres flex, além do grid, então o velho truque de margens negativas no contêiner não é mais necessário.

Os dois eixos

Como os itens flex decidem o seu tamanho

Grids responsivos sem media queries

Propriedades do contêiner flex

Defina no elemento com display: flex

Propriedades dos itens flex

Defina nos filhos

Propriedades do contêiner grid

Defina no elemento com display: grid

Propriedades dos itens grid

Defina nos filhos

Receitas

Layout de página com grid-template-areas

Três linhas nomeadas em telas largas. Mude as áreas em um só lugar para reorganizar a página.

Barra de ferramentas: logo à esquerda, links à direita

margin-left: auto no último grupo o empurra para a outra ponta, um truque comum de flexbox.

Grid de cards que se reorganiza sem media queries

Redimensione a janela: o número de colunas muda sozinho.

Copiar CSS

Copiar classes

(só os padrões)

Playground de flexbox

Playground de grid

Remover um item

{n} itens

Adicionar um item

Redefinir

Contêiner flex ao vivo

Contêiner grid ao vivo

rótulo mais longo

Arraste o canto inferior direito da caixa para mudar a largura. Clique em um item para editá-lo.

Contêiner

Item {n}

Construtor de grid-template-areas

Área para pintar

vazia (.)

Linhas

Colunas

Linha {row}, coluna {col}: {area}. Pintar como {brush}

Ainda não é válido: {names} precisa formar um retângulo. Os navegadores ignoram todo o valor de grid-template-areas até que isso aconteça.

Layout válido. Todas as áreas são retângulos.

Imprimir o guia rápido

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site