Flex Box - containers
Neste artigo é quase um guia visual (pouto texto e muita imagens) sobre um dos pilares do flex-box: container.
Começaremos com este exemplo:
<div class="container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
Abaixo vemos um menu (pode clicar) das propriedades que iremos experimentar:
flex-direction
flex-direction: row (default) | row-reverse | column | column-reverse

Neste exemplo já podemos testar a propriedade flex-direction. Ele é simples porque ou você dispõem as boxes como linha
ou dispõem como coluna.
- Abra o exemplo 3 e altere a propriedade
flex-direction. - Entendeu a questão do
reverse?
A propriedade flex-direction define a direção dos flex itens, ela altera o eixo do container.
Veja demo.
justify-content
justify-content: flex-start (default) | flex-end | center | space-around | space-between

Essa propriedade alinha os itens conforme o eixo, ou melhor, conforme o valor de flex-direction.
- Sendo
flex-direction: row, experimente todos os valores. - Sendo
flex-direction: column, experimente todos os valores.
Para ficar ligado nas novidades dessa propriedade acesse a
documentação da mozilla. Repare que temos propriedades
não comentadas aqui, como por exemplo space-evenly, start baseline, etc…
Veja demo.
align-items
align-items: stretch (default) | baseline | center | flex-start | flex-end

Agora vamos testar a propriedade align-items.
Ela pode alinhar as boxes no início (flex-start), no final (flex-end) e no centro (center). Parecido com a
propriedade anterior (justify-content) você não acha ?
O baseline costuma causar alguma dúvida, falaremos dele futuramente.
- Sendo
flex-direction: row, experimente todos os valores. - Sendo
flex-direction: column, experimente todos os valores. - Brinque juntamente com a propriedade
justify-content. - O que acontece se justify-content: center e justify-content: align-items ?
- Aumente e diminua a tela e repare no comportamento.
- Você notou que eu comentei a linha
width: 50px? - …era para você perceber que o item ucupava o espaço todo (100%).
Veja demo.
flex-wrap
flex-wrap: nowrap (default) | wrap | wrap-reverse

Indica se quebra ou não a linha. Ao diminuir a tela (ou o tamanho de sua div container) os itens irão cair para a próxima linha.
- Abra o exemplo mas não mexa no código, ainda.
- Agora, diminua a sua tela e observe o comportamento atentamente.
- O wrap também funciona com flex-direction: column…
- …só que você terá que mudar a altura de sua div.
Veja demo.
align-content

Escrever aqui alguma coisa.
Veja demo.