Flexbox
Layouts Flexbox com CSS
O CSS Flexbox é um recurso do CSS (Cascading Style Sheets) que permite a criação de layouts flexíveis para elementos HTML. Em outras palavras, ele ajuda a organizar os elementos em uma página da web de forma dinâmica e responsiva.
Como funciona o Flexbox
- Contêiner: Um elemento pai que deseja alinhar seus filhos.
- Filhos: Os elementos filho do contêiner que precisam ser alinhados.
- Direção: O flexbox pode trabalhar em duas direções: horizontal (row) ou vertical (column).
- Flex items: Os filhos do contêiner são chamados de "flex items".
Propriedades básicas do Flexbox
display
: Definir o contêiner como um flexbox.flex-direction
: Especificar a direção dos flex itens (row ou column).justify-content
ealign-items
: Alinhar os flex itens na direção horizontal ou vertical.
Alinhamento de Flex Itens
Existem várias formas de alinhar os flex items no CSS Flexbox:
- justify-content: Alinha os flex itens na direção horizontal.
- Valor: "flex-start" (padrão), "center", "space-around", "space-between".
- align-items: Alinha os flex itens na direção vertical.
- Valor: "stretch" (padrão), "center", "baseline".
Exemplo de código HTML e CSS para ilustrar o alinhamento
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flexbox</title>
<style>
.container {
display: flex;
justify-content: space-between; /* Alinha os filhos horizontalmente */
align-items: center; /* Alina os filhos verticalmente */
width: 500px;
}
.flex-item {
background-color: #ADD8E6;
height: 50px;
}
</style>
</head>
<body>
<div class="container">
<div class="flex-item">Flex Item 1</div>
<div class="flex-item">Flex Item 2</div>
<div class="flex-item">Flex Item 3</div>
</div>
<!-- Mais exemplos de alinhamento -->
<h4>justify-content:</h4>
<button style="display: flex; justify-content: center;">Centro</button>
<button style="display: flex; justify-content: space-around;">Espaçado</button>
<h4>align-items:</h4>
<div class="container2">
<p style="background-color: #ADD8E6; height: 50px;">Flex Item Alinha Centro (default)</p>
<p style="display: flex; align-items: center;">Alinhar Flex Items ao centro</p>
</div>
</body>
</html>
Nesse exemplo, foi criado um contêiner com três filhos e aplicados diferentes valores para justify-content
e align-items
.
Referências
- Flexbox - Aprendendo desenvolvimento web | MDN
- CSS Flexbox Layout Guide | CSS-Tricks
- W3schools - CSS Flexbox (Flexible Box)
- Guia completo de Flexbox - CSS - display: flex;
- Flexbox | web.dev
- Flexbox Froggy - A game for learning CSS flexbox
- DIO _ Módulo 02 _ Flexbox.pdf
- Exemplos de alinhamento com Flexbox