CSS Flexible Box Layout
CSS Flexible Box Layout é um módulo do CSS que define um layout multicoluna otimizado para o design de interfaces de usuário, para isso busca lidar com o layout dos itens de maneira unidimensional. No modelo de layout do Flexbox, os filhos de um contêiner flex podem ser dispostos em qualquer direção, e podem "flexibilizar" seus tamanhos, crescendo para preencher o espaço vazio ou diminuindo para evitar o transbordamento do elemento pai. O alinhamento horizontal e vertical dos filhos podem ser facilmente manipulados.
Exemplo Básico
No exemplo a seguir um contêiner foi definido como display: flex
, o que significa que os três items filhos dele se tornaram flex. O valor de justify-content
foi definido como space-between
para espaçar os itens uniformemente no eixo principal. Uma quantidade igual de espaço é colocada entre cada item com a esquerda e direita dos itens sendo niveladas com as bordas do contêiner flex. Você também pode perceber que os items estão alongados no eixo transversal, isso acontece por causa do valor padrão de align-items
ser stretch
(esticar). Os itens se estendem até a altura do contêiner flex, fazendo com que eles sejam tão altos quanto o item mais alto.
Referência
Propriedades CSS
Propriedades de Alinhamento
A propriedade align-content
, align-self
, align-items
e justify-content
apareceram inicialmente na especificação do Flexbox, mas agora estão definidas em Box Alignment. As especificações do Flexbox agora referência a especificação do Box Alignment para definições atualizadas. Propriedades de alinhamento adicional agora também são definidas em Box Alignment.
Entradas do glossário
Guia
- Conceitos básicos de flexbox
-
Uma visão geral sobre as funcionalidades do Flexbox
- Relação entre o Flexbox e os outros métodos de layout
-
Como o Flexbox está relacionado aos outros métodos de layout, e outras especificações CSS
- Alinhando itens em um contêiner flex
-
Como as propriedades Box Alignment trabalham com Flexbox.
- Ordenando itens flex
-
Explicando as diferentes formas de mudar a order e direção dos itens, e cobrindo os possíveis problemas em fazer isso.
- Proporções de Controle de itens flex ao longo do eixo principal
-
Explicando as propriedades flex-grow, flex-shrink e flex-basis.
- Dominando a embalagem de itens flex
-
Como criar contêiners flex com múltiplas linhas e controlar a exibição dos itens nessas linhas.
- Casos típicos de uso do Flexbox
-
Padrão de projeto comuns que são casos de uso típicos do Flexbox.
- Retrocompatibilidade do Flexbox
-
Status do Flexbox nos browsers, problemas de interoperabilidade e suporte para browsers antigos e versões das especificações
Especificações
Specification |
---|
CSS Flexible Box Layout Module Level 1 |
Veja também
- Flexbugs
-
Uma lista curada pela comunidade de bugs do Flexbox nos navegadores e soluções alternativas