🤸 Flexbox (display: flex)

O Flexible Box Layout, ou Flexbox, é um modelo de layout unidimensional que oferece uma maneira eficiente de alinhar e distribuir espaço entre itens em um contêiner.

Para começar, aplique display: flex; ao elemento pai (o contêiner).

1. Propriedades do Contêiner Flex (o Pai)

`flex-direction`

Define a direção do eixo principal (como os itens são organizados).

.container { display: flex; flex-direction: row; }
1
2
3

`justify-content`

Alinha os itens ao longo do eixo principal.

.container { display: flex; justify-content: space-between; }
1
2
3

`align-items`

Alinha os itens ao longo do eixo transversal (o eixo perpendicular ao principal).

.container { display: flex; align-items: center; }
1
2
3

`flex-wrap`

Permite que os itens quebrem para a próxima linha se não houver espaço suficiente.

.container { display: flex; flex-wrap: wrap; }
1
2
3
4
5
6

2. Propriedades dos Itens Flex (os Filhos)

`flex-grow`

Define a capacidade de um item "crescer" para ocupar o espaço livre no contêiner. O valor é um número que representa uma proporção.

.item1 { flex-grow: 1; }
.item2 { flex-grow: 2; } /* Ocupará o dobro do espaço livre que o item 1 */
grow: 1
grow: 2
grow: 1

`order`

Altera a ordem visual dos itens, independentemente de sua ordem no HTML. O padrão é 0.

.item1 { order: 3; }
.item2 { order: 1; }
.item3 { order: 2; }
HTML 1 (order 3)
HTML 2 (order 1)
HTML 3 (order 2)