Capítulo 17: Formação de Combate (Flexbox P1) 🏹🛡️
Neste capítulo, vamos aprender a alinhar elementos lado a lado de forma fácil usando o Flexbox, a ferramenta mais moderna para layouts, usando o tema Formação de Tropa!
📖 O que é Flexbox?
Antigamente, colocar coisas lado a lado no CSS era muito difícil. O Flexbox resolveu isso! Ele é um modelo de layout que permite alinhar itens dentro de um contêiner de forma flexível.
Para começar, dizemos que o contêiner pai tem display: flex;. A partir daí, podemos controlar os filhos!
Propriedades principais do pai:
justify-content: Alinha os itens na horizontal (ex:center,space-between,space-around).align-items: Alinha os itens na vertical (ex:center,flex-start,flex-end).
📖 Exemplo Guiado: Alinhando Guerreiros
Vamos colocar 3 caixas lado a lado com espaço entre elas.
- Crie o arquivo
flex.html:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Flexbox</title>
<link rel="stylesheet" href="flex.css">
</head>
<body>
<div class="exercito">
<div class="soldado">1</div>
<div class="soldado">2</div>
<div class="soldado">3</div>
</div>
</body>
</html>- Crie o arquivo
flex.css:
.exercito {
display: flex;
justify-content: space-between; /* Espaço igual entre eles */
background-color: #ddd;
padding: 10px;
}
.soldado {
background-color: #3498db;
color: white;
padding: 20px;
width: 50px;
text-align: center;
}📊 Ilustração Visual: Justify Content
graph TD A[Flex Container] --> B[justify-content: center] A --> C[justify-content: space-between]
🛠️ Prática Obrigatória 1: Menu Centralizado
Crie um arquivo chamado menu_flex.html e o CSS. Crie uma div chamada menu e coloque 3 links dentro dela. Use Flexbox para centralizar os links no meio da página (justify-content: center) e dê um espaço entre eles usando gap: 20px no contêiner pai!
🔑 Gabarito de Código
Prática 1: menu_flex.html
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Menu Flex</title>
<link rel="stylesheet" href="menu.css">
</head>
<body>
<div class="menu">
<a href="#">Início</a>
<a href="#">Sobre</a>
<a href="#">Contato</a>
</div>
</body>
</html>menu.css
.menu {
display: flex;
justify-content: center;
gap: 20px; /* Espaço entre os links */
background-color: #333;
padding: 15px;
}
.menu a {
color: white;
text-decoration: none;
}📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo X) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
- ⚠️ IMPORTANTE: Seu repositório DEVE SER PÚBLICO.
- No Microsoft Teams:
- Copie o link do seu repositório.
- Cole na tarefa correspondente no Teams.
- Clique em Entregar.