363 pessoas já começaram a estudar hoje
363363pessoasjá começaram a estudar hoje
já começaram a estudar hoje

Enquanto você avalia,

363363pessoas já começaram a estudar hoje

Dê o próximo passo e inicie sua carreira

Dê o próximo passo e inicie sua carreira agora mesmo

Comece agora
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Front-end
    3. Flexbox CSS: Guia Completo sobre display flex, propriedades, elementos e exemplos 

    Flexbox CSS: Guia Completo sobre display flex, propriedades, elementos e exemplos 

    15 min15 minutos de leitura

    15 min15 minutos de leitura

    Publicado: 11/05/2020

    Última atualização: 24 de Março

    1. O que é o Flexbox?
    2. Propriedades para o elemento-pai (flex-container): display flex, flex-direction, flex-wrap e mais
    3. Display (display: flex; ou display: inline-flex; no CSS flexbox)
    4. Flex-direction: como definir a direção dos elementos no display flex
    5. Flex-wrap: como controlar a quebra de linha no flexbox
    6. Flex-flow: shorthand para flex-direction e flex-wrap no flexbox CS
    7. Justify-content: alinhando itens no eixo principal usando flexbox CSS
    8. Align-items: como alinhar itens no eixo transversal no flexbox
    9. Align-content: organizando o espaçamento entre linhas no flexbox CSS
    10. Propriedades flexbox para elementos-filhos (flex items): ordem, crescimento e alinhamento
    11. Order
    12. Flex-grow
    13. Flex-shrink
    14. Flex-basis
    15. Flex
    16. Align-self
    17. Pontos importantes sobre o uso do Flexbox CSS e display flex
    18. Links úteis para aprofundar no Flexbox CSS, flex direction e display flex
    19. Flexbox vs CSS Grid: quando usar cada um?

    O Flexbox, também chamado de Flex Box CSS ou css flexbox, foi criado para tornar a criação de layouts em CSS mais eficiente, facilitando o alinhamento e a distribuição de espaço entre itens dentro de um container, mesmo quando suas dimensões são desconhecidas ou mudam dinamicamente (daí o termo "flex").

    Neste guia do flexbox você verá o que é Flexbox CSS, suas principais propriedades como flex-direction, justify-content, align-items, além de exemplos práticos de como usar display flex CSS no seu layout.

    O que é o Flexbox?

    Antes do Flexbox, float e position eram as principais ferramentas para criar layouts e posicionar elementos com compatibilidade entre navegadores.

    No entanto, essas ferramentas apresentam limitações, principalmente quando se trata de responsividade.

    Algumas tarefas que consideramos básicas em um leiaute, como centralização vertical de um elemento-filho com relação a um elemento-pai ou fazer com que elementos-filhos ocupem a mesma quantidade de espaço, ou colunas terem o mesmo tamanho independente da quantidade de conteúdo interno, eram impossíveis ou muito difíceis de serem manejadas com floats ou position, ao menos de forma prática e flexível.

    O Flexbox CSS (Flexible Box) foi criado para simplificar coisas como centralizar elementos, ajustar tamanhos automáticos e criar layouts dinâmicos, graças ao uso da propriedade display: flex no CSS.

    Os elementos filhos (flex items) dentro de um container com display flex podem se alinhar tanto na horizontal quanto na vertical, com dimensões flexíveis para se adaptar a cada situação.

    Quais são os Elementos do Flexbox? Entenda flex-container, flex-item e os eixos (axes)

    O Flexbox é composto por várias propriedades: algumas delas devem ser declaradas no container (o elemento-pai, que chamamos de flex container), enquanto outras devem ser declaradas nos elementos-filhos (os flex itens).

    Se o leiaute "padrão" é baseado nas direções block e inline, o layout flexbox trabalha principalmente com propriedades como flex-direction (direção principal), justify-content (alinhamento horizontal) e align-items (alinhamento vertical), além de valores como flex-grow e flex-shrink, essenciais para definir como os flex items vão se comportar dentro de um flex container usando display: flex.

    Veja abaixo um diagrama da especificação, explicando a ideia central por trás do leiaute Flex.

    Diagrama da terminologia do Flexbox mostrando o flex container com dois flex items, destacando o eixo principal (main axis) horizontal, o eixo transversal (cross axis) vertical, main start, main end, cross start, cross end, main size e cross size.

    Os itens serão organizados no layout seguindo o eixo principal (main axis) ou o eixo transversal (cross axis):

    | Conceito | Descrição |

    |--------------------|----------| 

    | Eixo principal | O eixo principal de um flex container é o eixo primário e ao longo dele são inseridos os flex items. Não é necessariamente horizontal; depende da propriedade flex-direction. |

    | main-start / main-end | Os flex items são inseridos dentro do container começando pelo lado start, indo em direção ao lado end. |

    | Tamanho principal | A largura ou altura de um flex item, dependendo da direção do container, é o tamanho principal do item. Pode ser width ou height, conforme a direção principal. |

    | Eixo transversal | O eixo perpendicular ao eixo principal é chamado de eixo transversal. Sua direção depende da direção do eixo principal. |

    | cross-start / cross-end | Linhas flex são preenchidas com itens e adicionadas ao container começando pelo lado cross-start em direção ao cross-end. |

    | Cross size | A largura ou altura de um flex item na dimensão transversal. Pode ser width ou height, dependendo da direção transversal. |

    O Flex Container é o elemento-pai que envolve toda a estrutura flexível. Para defini-lo, basta usar a propriedade display com os valores flex ou inline-flex.

    <div class="flex-container"> 
        <div>1</div> 
        <div>2</div> 
        <div>3</div> 
      </div> 
    

    .flex-container { display: flex; }

    Flex Items são os elementos-filhos diretos do Flex Container.

    Eixos ou Axes são as duas direções básicas que existem em um Flex Container: main axis, ou eixo principal, e cross axis, ou eixo transversal.

    Banner promocional da Alura destacando até 30% de desconto e mais 1 mês grátis para quem quer investir na carreira e acelerar sua evolução profissional. A oferta é por tempo limitado, com matrícula disponível até 24 de agosto e chamada para aproveitar a oportunidade de estudar na Alura.

    Propriedades para o elemento-pai (flex-container): display flex, flex-direction, flex-wrap e mais

    Ilustração de um flex container roxo contendo três flex items laranja dispostos horizontalmente

    Ao trabalhar com Flexbox, é fundamental entender quais propriedades devem ser aplicadas ao elemento-pai (por exemplo, uma div que irá agrupar os elementos a serem alinhados) e quais devem ser usadas nos elementos-filhos:

    Display (display: flex; ou display: inline-flex; no CSS flexbox)

    Esta propriedade transforma o elemento em um flex container, podendo ser do tipo 'inline' ou 'block', dependendo dos valores. Ela faz com que todos os elementos-filhos diretos passem a ser tratados no contexto do Flexbox.

    .container { display: flex; /* or inline-flex */}

    Obs.: Note que a propriedade de CSS columns não tem efeito em um flex container.

    Flex-direction: como definir a direção dos elementos no display flex

    flex-direction

    Estabelece o eixo principal, definindo assim a direção em que os flex items são alinhados no flex container. O Flexbox é (com exceção de um wrapping opcional) um conceito de leiaute de uma só direção. Pense nos flex items inicialmente posicionais ou em linhas horizontais ou em colunas verticais.

      .flex-container { 
        flex-direction: row | row-reverse | column | column-reverse; 
      } 
    • row (padrão): esquerda para a direita em ltr (left to right), direita para a esquerda em rtl (right to left)
    • row-reverse: direita para a esquerda em ltr, esquerda para a direita em rtl
    • column: mesmo que row, mas de cima para baixo
    • column-reverse: mesmo que row-reverse mas de baixo para cima

    Flex-wrap: como controlar a quebra de linha no flexbox

    Diagrama ilustrando flex-wrap com nowrap (todos itens em uma linha) e wrap (itens quebrando para segunda linha quando necessário)

    Por padrão, todos os flex items tentam se acomodar em uma única linha. A propriedade flex-wrap permite alterar esse comportamento, permitindo que os itens "quebrem" para linhas adicionais quando não houver espaço suficiente.

      .flex-container { 
        flex-wrap: nowrap | wrap | wrap-reverse; 
      } 

    • nowrap (padrão): todos os flex items ficarão em uma só linha

    • wrap: os flex items vão quebrar em múltiplas linhas, de cima para baixo

    • wrap-reverse: os flex items vão quebrar em múltiplas linhas de baixo para cima

    Flex-flow: shorthand para flex-direction e flex-wrap no flexbox CS

    A propriedade flex-flow é uma forma abreviada (shorthand) para definir, em uma única linha, os valores de flex-direction e flex-wrap, ou seja, a direção do fluxo e se haverá quebra de linha no Flex Container. O valor padrão é row nowrap.

    .flex-container { 
        flex-flow: row nowrap | row wrap | column nowrap | column wrap; 
      } 

    Justify-content: alinhando itens no eixo principal usando flexbox CSS

    Diagrama mostrando os seis valores de justify-content: flex-start (itens alinhados ao início), flex-end (ao final), center (centralizados), space-between (espaçados com primeiro e último nas bordas), space-around (espaço igual ao redor de cada item) e space-evenly (espaçamento perfeitamente igual entre todos)

    Esta propriedade define o alinhamento dos itens ao longo do eixo principal, permitindo distribuir o espaço livre restante do container, independentemente dos itens serem flexíveis ou não. Também controla o alinhamento quando existem várias linhas de itens.

     .flex-container { 
        justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly; 
      } 
    • flex-start (padrão): os ítens são alinhados junto à borda de início (start) de acordo com qual for a flex-direction do container.
    • flex-end: os ítens são alinhados junto à borda final (end) de acordo com qual for a flex-direction do container.
    • start: os ítens são alinhados junto à borda de início da direção do writing-mode (modo de escrita).
    • end: os ítens são alinhados junto à borda final da direção do writing-mode (modo de escrita).
    • left: os ítens são alinhados junto à borda esquerda do container, a não ser que isso não faça sentido com o flex-direction que estiver sendo utilizado. Nesse caso, se comporta como start.
    • right: os ítens são alinhados junto à borda direita do container, a não ser que isso não faça sentido com o flex-direction que estiver sendo utilizado. Nesse caso, se comporta como start.
    • center: os ítens são centralizados na linha.
    • space-between: os ítens são distribuídos de forma igual ao longo da linha; o primeiro ítem junto à borda inicial da linha, o último junto à borda final da linha.
    • space-around: os ítens são distribuídos na linha com o mesmo espaçamento entre eles. Note que, visualmente, o espaço pode não ser igual, uma vez que todos os ítens tem a mesma quantidade de espaço dos dois lados: o primeiro item vai ter somente uma unidade de espaço junto à borda do container, mas duas unidades de espaço entre ele e o próximo ítem, pois o próximo ítem também tem seu próprio espaçamento que está sendo aplicado.
    • space-evenly: os ítens são distribuídos de forma que o espaçamento entre quaisquer dois itens da linha (incluindo entre os ítens e as bordas) seja igual.

    Nota: Flexbox tem suporte universal em todos os navegadores modernos a partir de 2026 (99%+ de cobertura global).

    Todas as propriedades mencionadas funcionam sem necessidade de prefixos ou fallbacks. Para navegadores muito antigos (IE10 ou anteriores, já descontinuados), pode ser necessário usar prefixos como -webkit- ou -ms-, mas isso é raro em projetos atuais.

    Também existem duas palavras-chave adicionais que você pode usar em conjunto com estes valores: safe e unsafe.

    Safe garante que, independente da forma que você faça esse tipo de posicionamento, não seja possível "empurrar" um elemento e fazer com que ele seja renderizado para fora da tela (por exemplo, acima do topo), de uma forma que faça com que o conteúdo seja impossível de movimentar com a rolagem da tela (o CSS chama isso de "perda de dados").

    Align-items: como alinhar itens no eixo transversal no flexbox

    Diagrama mostrando cinco valores de align-items no eixo transversal: flex-start (itens alinhados ao topo), flex-end (à base), center (centralizados verticalmente), stretch (itens esticados para preencher altura) e baseline (alinhados pela linha de base do texto)

    Define como os flex items são alinhados ao longo do eixo transversal (cross axis). É semelhante ao justify-content, porém aplicado no eixo perpendicular ao principal.

      .flex-container { 
        align-items: stretch | flex-start | flex-end | center | baseline; 
      } 
      
    • stretch (padrão): estica os ítens para preencher o container, respeitando o min-width/max-width).
    • flex-start/ start / self-start: ítens são posicionados no início do eixo transversal. A diferença entre eles é sutil e diz respeito às regras de flex-direction ou writing-mode.
    • center: ítens são centralizados no eixo transversal.
    • baseline: ítens são alinhados de acordo com suas baselines.

    Os modificadores safe e unsafe pode ser usados em conjunto com todas essas palavras-chave (favor conferir o suporte de cada navegador) e servem para prevenir qualquer alinhamento de elementos que faça com que o conteúdo fique inacessível (por exemplo, para fora da tela).

    Align-content: organizando o espaçamento entre linhas no flexbox CSS

    Diagrama mostrando align-content com múltiplas linhas: flex-start (linhas no topo), flex-end (na base), center (centralizadas), space-between (primeira linha no topo, última na base), space-around (espaço ao redor de cada linha) e stretch (linhas esticadas para preencher o espaço)

    Organiza as linhas dentro de um flex container quando há espaço extra no eixo transversal, similar ao modo como justify-content alinha ítens individuais dentro do eixo principal.

    Importante: Esta propriedade não tem efeito quando há somente uma linha de flex items no container.

     .flex-container { 
        align-content: flex-start | flex-end | center | space-between | space-around | stretch; 
      } 
      
    • flex-start / start: ítens alinhados com o início do container. O valor (com maior suporte dos navegadores) flex-start se guia pela flex-direction, enquanto start se guia pela direção do writing-mode.
    • flex-end / end: ítens alinhados com o final do container. O valor (com maior suporte dos navegadores) flex-end se guia pela flex-direction, enquanto end se guia pela direção do writing-mode.
    • center: ítens centralizados no container.
    • space-between: ítens distribuídos igualmente; a primeira linha junto ao início do container e a última linha junto ao final do container.
    • space-around: ítens distribuídos igualmente com o mesmo espaçamento entre cada linha.
    • space-evenly: ítens distribuídos igualmente com o mesmo espaçamento entre eles.
    • stretch (padrão): ítens em cada linha esticam para ocupar o espaço remanescente entre elas.

    Os modificadores safe e unsafe pode ser usados em conjunto com todas essas palavras-chave (favor conferir o suporte de cada navegador) e servem para prevenir qualquer alinhamento de elementos que faça com que o conteúdo fique inacessível (por exemplo, para fora da tela).

    Propriedades flexbox para elementos-filhos (flex items): ordem, crescimento e alinhamento

    A seguir, veremos propriedades que devem ser declaradas tendo como seletor os elementos-filhos, ou seja:

      <div class="flex-container"> 
        <div class="flex-item">1</div> 
        <div class="flex-item">2</div> 
        <div class="flex-item">3</div> 
      </div> 
      

    Isso significa que, onde existe um elemento-pai com propriedade flex (o flex-container), é

    possível atribuir propriedades flex específicas também para as elementos-filhos (flex-item).

    Você pode definir as propriedades abaixo para apenas um dos elementos-filhos através de um identificador, como uma classe específica.

    Order

    Determina a ordem em que os elementos aparecerão.

    Diagrama mostrando a propriedade order com flex items numerados: primeira linha mostra ordem 1,1,1,2,3 e segunda linha mostra -1,1,2,5 demonstrando como valores negativos e positivos afetam a ordem visual, além de um exemplo vertical com itens order 2, 2 e 99

    Por padrão os flex items são dispostos na tela na ordem do código. Mas a propriedade order controla a ordem em que aparecerão no container.

      .flex-item { 
        order: <número>; /* o valor padrão é 0 */ 
      } 
      

    Flex-grow

    Diagrama mostrando flex-grow: primeira linha com três itens de flex-grow 1 ocupando espaço igual, segunda linha com item central flex-grow 2 ocupando o dobro do espaço dos itens com flex-grow 1

    Define a habilidade de um flex item de crescer, caso necessário. O valor dessa propriedade é um valor numérico sem indicação de unidade, que serve para cálculo de proporção. Este valor dita a quantidade de espaço disponível no container que será ocupado pelo item.

    Se todos os ítens tiverem flex-grow definido em 1, o espaço remanescente no container será distribuído de forma igual entre todos. Se um dos ítens tem o valor de 2, vai ocupar o dobro de espaço no container com relação aos outros (ou pelo menos vai tentar fazer isso).

      .flex-item { 
        flex-grow: <numero>; /* o valor default(padrão) é 0 */ 
      } 
      

    Valores negativos não são aceitos pela propriedade.

    Flex-shrink

    Define a habilidade de um flex item de encolher, caso necessário.

      .flex-item { 
        flex-shrink: <número>; /* o valor padrão é 1 */ 
      } 
      

    Valores negativos não são aceitos pela propriedade.

    Flex-basis

    Define o tamanho padrão para um elemento antes que o espaço remanescente do container seja distribuído. Pode ser um comprimento (por exemplo, 20%, 5rem, etc) ou uma palavra-chave.

    A palavra-chave auto significa "observe minhas propriedades de altura ou largura" (o que era feito pela palavra-chave main-size, que foi depreciada).

    A palavra-chave content significa "estabeleça o tamanho com base no conteúdo interno do ítem". A partir de 2026, essa palavra-chave tem bom suporte nos navegadores modernos (Firefox 37+, Chrome 94+, Safari 15.4+, Edge 84+), sendo segura para uso na maioria dos projetos atuais.

     .flex-item { 
         flex-basis: <'width'> | auto; /* o valor padrão é auto */ 
      } 
      

    Com o valor de 0, o espaço extra ao redor do conteúdo não é considerado. Com o valor de auto, o espaço extra é distribuído com base no valor de flex-grow do ítem.

    Flex

    Esta é a propriedade shorthand para flex-grow, flex-shrink e flex-basis, combinadas. O segundo e terceiro parâmetros (flex-shrink e flex-basis) são opcionais. valor padrão é 0 1 auto, mas se você definir com apenas um número, é equivalente a <número> 1 0% (por exemplo, flex: 2 equivale a flex: 2 1 0%).

      .item { 
        flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] 
      } 
      

    É recomendado que você utilize esta propriedade shorthand ao invés de definir cada uma das propriedades em separado. O shorthand define os outros valores de forma inteligente.

    Align-self

    Diagrama mostrando align-self com um item destacado usando flex-end para se alinhar diferentemente dos demais, demonstrando que align-self sobrescreve o align-items do container para itens individuais

    Permite que o alinhamento padrão (ou o que estiver definido por align-items) seja sobrescrito para ítens individuais.

    Por favor veja a explicação da propriedade align-items para entender quais são os possíveis valores.

      .item { 
        align-self: auto | flex-start | flex-end | center | baseline | stretch; 
      } 
      

    Pontos importantes sobre o uso do Flexbox CSS e display flex

    • O CSS Flexbox só aplica suas propriedades a elementos com relação direta de pai e filho; elementos que não são filhos diretos do Flex Container não são afetados.;
    • Para que as propriedades funcionem nos elementos-filhos, as pais devem ter propriedade display: flex;.
    • As propriedades float, clear e vertical-align não têm efeito em flex-items. Vale comentar que as 'column-*' properties (como column-count, column-gap, quando usadas em contexto multi-column) também não funcionam em flex containers.
    • A propriedade gap (introduzida para Flexbox em 2021) é totalmente suportada em 2026 e é a forma recomendada de criar espaçamento entre flex items, substituindo técnicas antigas com margin.

    Pratique Flexbox: Exercícios e dicas para aprender display flex CSS

    Acesse o Flexbox Froggy (https://flexboxfroggy.com/), além deste, outros recursos práticos incluem:

    • Flexbox Defense - aprenda Flexbox através de um jogo de tower defense;
    • CSS Grid Garden - para praticar CSS Grid;
    • Flexbox playground no Codepen - crie e teste layouts interativamente.

    Links úteis para aprofundar no Flexbox CSS, flex direction e display flex

    Assim como em qualquer nova funcionalidade, é fundamental praticar bastante e consultar referências sempre que surgirem dúvidas. A seguir, alguns links úteis.

    Este conteúdo se baseia em grande parte no tutorial da CSS Tricks, com nossos agradecimentos! Guarde nos seus favoritos para consultar sempre que precisar.

    O guia do CSS Tricks também aborda alguns outros aspectos importantes do Flex: suporte dos navegadores, bugs, propriedades relacionadas, prefixos e etc. Caso tenha alguma dúvida que não foi abordada neste artigo, você pode consultar estes temas relacionados no link.

    • Flexbox no MDN
    • Flexbox no W3Schools

    Flexbox vs CSS Grid: quando usar cada um?

    Flexbox é ideal para layouts unidimensionais (uma linha ou coluna), enquanto CSS Grid é melhor para layouts bidimensionais (linhas E colunas simultaneamente).

    Em 2026, a melhor prática é combinar ambos: use CSS Grid para a estrutura geral da página e Flexbox para alinhar e distribuir itens dentro de cada seção do Grid. Ambas as tecnologias têm suporte completo nos navegadores modernos.

    Gostou do post e quer saber mais? Aqui na Alura temos Carreiras de Desenvolvimento Front-end, em que, na etapa base, você pode aprender mais sobre HTML e CSS.

    Banner promocional da Alura destacando até 30% de desconto e mais 1 mês grátis para quem quer investir na carreira e acelerar sua evolução profissional. A oferta é por tempo limitado, com matrícula disponível até 24 de agosto e chamada para aproveitar a oportunidade de estudar na Alura.

    Avalie este artigo

    Foto de Juliana Amoasei

    Autor(a)

    Juliana Amoasei

    Desenvolvedora JavaScript com background multidisciplinar, sempre aprendendo para ensinar e vice-versa. Acredito no potencial do conhecimento como agente de mudança pessoal e social. Atuo como instrutora na Escola de Programação da Alura e, fora da tela preta, me dedico ao Kung Fu e a nerdices em geral.

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • 04/04/2010

      Flex: Teste de unidade em Actionscript

      Ler mais
    • 11/01/2024

      Next.JS: aplicações fullstack com super poderes

      Ler mais
    • 17/04/2017

      Como criar um servidor HTTP com HapiJS

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura