Guia Completo de Flexbox: Display, Direção e Quebra de Linha

Nesta etapa, exploraremos os Fundamentos do Flexbox, começando pelas propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. essenciais para transformar um container em um elemento flexível e controlar a disposição de seus itens. Você aprenderá como o display: flex muda completamente o comportamento dos elementosTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis., além de entender como flex-direction e flex-wrap ajudam a estruturar o layout da página em diferentes direções e quebras de linhaQuebras de Linha e Entidades HTML: Caracteres EspeciaisQuebras de Linha e Entidades HTML: Caracteres EspeciaisDescubra neste tutorial completo como utilizar quebras de linha com a tag <br> e aplicar entidades HTML, garantindo a exibição correta de caracteres..

O que é Flexbox?🔗

Flexbox (ou Flexible Box Layout) é um módulo do CSS que facilita a criação de layouts modulares e adaptáveis. Com ele, podemos alinhar, distribuir e espaçar blocos de conteúdo de forma muito mais simples do que com técnicas antigas, como uso excessivo de floats ou posicionamentosPosicionamento: static, relative, absolute, fixed, stickyPosicionamento: static, relative, absolute, fixed, stickyDescubra como usar os métodos de posicionamento CSS, de static a sticky, para criar layouts interativos, precisos e eficazes..

Transformando em um Container Flex (display: flex)🔗

Para ativar o modo flexbox, basta definir a propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. display como flex no elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. que servirá de contêiner:

.container {
  display: flex; /* Habilita o Flexbox */
}
  • Comportamento Padrão:

Assim que aplicamos display: flex, todos os filhos imediatos (os itens flex) passam a ser organizados em linha (no eixo horizontal), um ao lado do outro, se houver espaço suficiente.

  • Eixo Principal e Eixo Secundário:

No flexbox, trabalhamos com eixo principal (main axis) e eixo secundário (cross axis). Por padrão, o eixo principal é horizontal (da esquerda para a direita) e o eixo secundário é vertical (de cima para baixo).

Direcionamento dos Itens (flex-direction)🔗

A propriedadeClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. flex-direction define em qual direção os itens serão dispostos ao longo do eixo principal. Existem quatro valores principais:

  • row (padrão): organiza os itens em linha, da esquerda para a direita.
  • row-reverse: inverte o sentido na horizontal, da direita para a esquerda.
  • column: organiza os itens em coluna, de cima para baixo.
  • column-reverse: inverte o sentido na vertical, de baixo para cima.

Exemplo de Uso

.container {
  display: flex;
  flex-direction: row; /* Valor padrão: itens em linha */
}

Você pode alterar o valor para column, por exemplo, caso queira que os itens sejam organizados verticalmente:

.container {
  display: flex;
  flex-direction: column;
}

Quebra de Linha (flex-wrap)🔗

Por padrão, o flexbox tenta acomodar todos os itens em uma única linha (ou coluna), reduzindo o tamanho dos itens caso seja necessário. Quando queremos que os itens “quebrem” para a próxima linha (ou coluna, dependendo da direção), utilizamos flex-wrap.

  • nowrap (padrão): todos os itens ficam em uma única linha (ou coluna).
  • wrap: permite que os itens avancem para a próxima linha (ou coluna) se não houver espaço.
  • wrap-reverse: semelhante a wrap, mas inverte a ordem das linhas (ou colunas).

Exemplo de Uso

.container {
  display: flex;
  flex-wrap: wrap; /* Permitir quebra de linha quando não houver espaço */
}

Demonstração Prática🔗

Abaixo, um exemplo simples que combina flex-direction e flex-wrap para visualizar como essas propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. interagem:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="UTF-8">
  <title>Exemplo Flexbox</title>
  <style>
    .container {
      display: flex;
      flex-direction: row; /* Poderia ser column, row-reverse etc. */
      flex-wrap: wrap;    /* Quebra de linha quando necessário */
      border: 2px solid #333;
      padding: 10px;
      gap: 10px; /* Espaçamento entre itens (propriedade de atalho) */
    }
    .item {
      background-color: #ccc;
      padding: 20px;
      flex: 0 0 120px; /* Largura fixa de 120px para fins de demonstração */
      text-align: center;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
    <div class="item">Item 4</div>
    <div class="item">Item 5</div>
    <div class="item">Item 6</div>
  </div>
</body>
</html>

Como funciona:

1. display: flex habilita o Flexbox no contêiner.

2. flex-direction: row faz com que o eixo principal seja horizontal.

3. flex-wrap: wrap permite que o conteúdo que não couber em uma única linha seja movido para outra linha.

Visão Geral🔗

PropriedadePossíveis ValoresDescrição
displayflexAtiva o contêiner flex.
flex-directionrow, row-reverse, column, column-reverseDefine o eixo principal (horizontal ou vertical) e a direção dos itens.
flex-wrapnowrap, wrap, wrap-reverseControla se os itens irão ou não quebrar linha quando necessários.

Conclusão🔗

O Flexbox se destaca por sua praticidade ao criar layouts dinâmicos, organizados e de fácil manutenção. Entender como display: flex, flex-direction e flex-wrap se relacionam é o primeiro passo fundamental para aproveitar seu poder.

Nos próximos passos, você aprofundará sua compreensão sobre como distribuir espaço, alinhar itens e explorar outras propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. essenciais do flexbox, tornando seu layout ainda mais flexível e responsivoResponsividade com HTML: Viewport e `<picture>`Responsividade com HTML: Viewport e `<picture>`Descubra como usar a meta viewport e o elemento picture para imagens responsivas, garantindo desempenho, usabilidade e SEO de qualidade..

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados