Prof. Esp. Leandro Gaudio Rosa
📦 CSS Flexbox (Unidimensional): Pense no Flexbox como uma forma de organizar seus Pokémon em uma única fila (linha ou coluna). Ele é a ferramenta ideal para alinhar itens lado a lado, distribuir espaçamentos ou posicionar elementos em uma barra de navegação ou caixa de PC.
🗺️ CSS Grid (Bidimensional): Pense no Grid como um habitat 2D completo (com linhas e colunas simultâneas). Com o Grid, você cria matrizes completas (como 2x2 ou 3x3) e pode posicionar Pokémon em células exatas ou fazer Pokémon gigantes (como o Snorlax) ocuparem múltiplas células ao mesmo tempo.
Siga estes passos para preparar e organizar seu projeto para envio:
ex01.html e ex01.css) ou aplicar as soluções no arquivo central conforme a orientação em aula.<link rel="stylesheet" href="style.css"> dentro do <head>.index.html contendo um menu com links navegáveis para cada um dos 10 exercícios.Exercícios focados no alinhamento e distribuição unidimensional de itens.
📖 Contexto Pokémon: Pikachu, Meowth e Psyduck acabaram de ser resgatados e foram transferidos para a PC Box. Eles precisam se reunir no centro da tela para receberem os primeiros cuidados do Professor Carvalho.
🎯 Missão do Treinador: Centralize horizontalmente os 3 Pokémon no meio exato da caixa.
#ex1 .box, utilize a propriedade justify-content: center; para alinhar todos os itens no centro do eixo principal.
justify-content: center;.
📖 Contexto Pokémon: Charmander, Squirtle e Bulbasaur são os clássicos rivais de Kanto. Para evitar disputas de território dentro da Box, eles precisam de espaço pessoal igual, ocupando toda a extensão horizontal da caixa!
🎯 Missão do Treinador: Distribua os 3 Pokémon de ponta a ponta: o Charmander deve encostar na borda esquerda, o Bulbasaur na borda direita, e o Squirtle deve ficar perfeitamente centralizado entre eles.
#ex2 .box, aplique justify-content: space-between;. O espaço restante da caixa será distribuído de forma automática e simétrica entre os monstrinhos.
justify-content: space-between;.
📖 Contexto Pokémon: Esta Box é bem alta (300px). Eevee, Vulpix e Jigglypuff passaram a tarde toda em batalhas intensas e agora querem deitar e descansar diretamente na grama fresca (no chão / base da caixa).
🎯 Missão do Treinador: Faça todos os 3 Pokémon descerem e se alinharem na parte inferior (fundo) da caixa.
#ex3 .box, utilize a propriedade align-items: flex-end;.
align-items: flex-end;.
📖 Contexto Pokémon: Machop, Geodude e Onix estão treinando uma formação acrobática em coluna para o torneio de força do Ginásio de Pewter City!
🎯 Missão do Treinador:
1. Altere a direção do fluxo para que os Pokémon fiquem empilhados verticalmente em uma coluna (um embaixo do outro).
2. Distribua os Pokémon de ponta a ponta na vertical (Machop no topo, Onix na base e Geodude no meio da caixa de 450px).
#ex4 .box, use flex-direction: column;. Quando a direção vira coluna, o eixo principal passa a ser vertical! Portanto, o espaçamento de ponta a ponta entre eles é feito com justify-content: space-between;.
flex-direction: column; justify-content: space-between;.
📖 Contexto Pokémon: Alakazam e Haunter estão levitando comportados no topo da sala com seus poderes psíquicos (posição padrão inicial: align-items: flex-start). Porém, o travesso Gengar usou seu ataque de sombra e desceu sozinho até o chão da sala!
🎯 Missão do Treinador: Mantenha Alakazam e Haunter levitando no topo e faça apenas o Gengar descer até o fundo da caixa.
#ex5 .pokemon.gengar), utilize a propriedade align-self: flex-end; para sobrescrever o alinhamento individualmente sem alterar a posição dos demais.
align-self: flex-end;.
Exercícios focados no posicionamento bidimensional (linhas e colunas) de habitats Pokémon.
📖 Contexto Pokémon: Quatro Pokémon comuns da Rota 1 (Pidgey, Rattata, Spearow e Ekans) estão entrando em um viveiro do Safari Zone. Precisamos criar uma matriz equilibrada de 2 colunas e 2 linhas com larguras iguais.
🎯 Missão do Treinador: Configure o contêiner #ex6 .habitat para definir exatamente 2 colunas de largura idêntica.
grid-template-columns: 1fr 1fr; (ou a função repeat(2, 1fr);). Como há 4 Pokémon no HTML, o CSS Grid distribuirá automaticamente 2 itens por linha.
grid-template-columns: 1fr 1fr; (ou repeat(2, 1fr)).
📖 Contexto Pokémon: Um Snorlax selvagem adormeceu no meio da trilha! Devido ao seu tamanho imenso, ele deve ocupar as duas colunas inteiras da primeira linha. Diglett e Zubat conseguem passar por baixo e se organizam lado a lado na linha seguinte.
🎯 Missão do Treinador:
1. Faça o Snorlax ocupar as 2 colunas da primeira linha.
2. Faça o card do Snorlax expandir para preencher toda a largura dessas duas colunas (width: 100%).
#ex7 .pokemon.snorlax), utilize grid-column: span 2; (ou grid-column: 1 / 3;) e defina width: 100%; para o card expandir visualmente por todo o vão.
grid-column: span 2; width: 100%;.
📖 Contexto Pokémon: O Oddish usou seu ataque de cipó e enraizou-se por toda a lateral esquerda do habitat 2x2! Ele deve ocupar a primeira coluna inteira (as 2 linhas verticalmente). Seus companheiros Gloom e Vileplume se organizam na segunda coluna, um em cada linha.
🎯 Missão do Treinador:
1. Faça o Oddish ocupar as 2 linhas verticais da primeira coluna.
2. Faça o card do Oddish acompanhar a altura total dessas duas linhas (height: 100%).
#ex8 .pokemon.oddish), aplique grid-row: span 2; (ou grid-row: 1 / 3;) e defina height: 100%; para preencher visualmente toda a altura da coluna.
grid-row: span 2; height: 100%;.
📖 Contexto Pokémon: Neste habitat de 4 colunas, os Pokémon possuem hábitos ecológicos opostos:
☀️ Diurnos (Sentret e Ledyba): Gostam de ficar em evidência no centro exato de suas áreas.
🌙 Noturnos (Hoothoot e Spinarak): São furtivos e preferem se abrigar encostados na extremidade direita (canto final) de suas células.
🎯 Missão do Treinador:
1. Centralize Sentret e Ledyba horizontalmente dentro de suas próprias células.
2. Alinhe Hoothoot e Spinarak à direita (final) dentro de suas próprias células.
justify-self: center; para os diurnos e justify-self: end; para os noturnos.
justify-self: center; e noturnos à direita com justify-self: end;.
📖 Contexto Pokémon: Os 3 Pássaros Lendários de Kanto (Articuno, Zapdos e Moltres) possuem poderes climáticos colossais! Para que não entrem em conflito elemental dentro do santuário 3x3, eles devem ser posicionados na clássica formação diagonal de segurança.
🎯 Missão do Treinador: Posicione cada pássaro lendário em suas coordenadas exatas da matriz 3x3:
❄️ Articuno: Canto superior esquerdo → Linha 1, Coluna 1.
⚡ Zapdos: Centro exato do santuário → Linha 2, Coluna 2.
🔥 Moltres: Canto inferior direito → Linha 3, Coluna 3.
grid-row: N; e grid-column: N; (ou o atalho grid-area: linha / coluna;) para cada lendário. Exemplo para Articuno: grid-row: 1; grid-column: 1;.
grid-row e grid-column.