.menu {
display: flex;
justify-content: space-evenly;
align-items: center;
flex-wrap: wrap;
column-gap: 33px;
}
.menu {
display: flex;
justify-content: space-evenly;
align-items: center;
flex-wrap: wrap;
column-gap: 33px;
}
Oi, Augusto, tudo bem?
Pelo código CSS que você enviou, a estrutura do .menu parece correta de acordo com a aula. No entanto, o comportamento do Flexbox (especialmente o flex-wrap e o alinhamento) depende muito da estrutura do seu HTML e das larguras definidas nos elementos filhos.
Para eu te ajudar de forma mais assertiva e entender por que o banner não está centralizando, poderia compartilhar essas duas informações?
<header> e <nav>).Uma dica rápida: Verifique se você redimensionou a janela do navegador para o tamanho de celular correto (ou usou o inspecionar elemento). O flex-wrap só "quebra" a linha e centraliza o topo se não houver espaço suficiente na lateral para todos os itens ficarem juntos.
Fico no aguardo do seu código e do print para resolvermos isso juntos!
Bons estudos!
Sucesso ✨
Oi Victor, tudo bem! O código eu peguei no github... https://github.com/alura-cursos/culturama/tree/e8b36aa5679342f07f552370ae616e3475d41d13
fiz apenas as alterações que o curso pediu...
Aqui está print...
"Uma dica rápida: Verifique se você redimensionou a janela do navegador para o tamanho de celular correto (ou usou o inspecionar elemento). O flex-wrap só "quebra" a linha e centraliza o topo se não houver espaço suficiente na lateral para todos os itens ficarem juntos."
Isso ai eu já sei... a quebra de linha da um pequeno bug não adequando corretamente a responsividade.
Fico no aguardo da resposta, obrigado, abraço!
Olá, Augusto, tudo bem?
Observei pelos seus prints que você está testando a responsividade redimensionando a janela do navegador livremente.
Para seguir exatamente o resultado proposto na aula, a recomendação é utilizar o Inspecionar Elemento (DevTools) com a largura travada em 360px. Nessa medida, o layout ficará certinho.
Em larguras diferentes dessa (como os 400px ou 500px), o layout vai quebrar mesmo. Isso acontece porque os elementos (links) estão soltos e independentes no HTML, então o Flexbox tenta acomodá-los onde dá.
Para resolver isso de vez e manter o projeto fiel ao design original (com o logo em cima e os links alinhados abaixo em telas menores), a solução mais robusta é agrupar os links. Assim, eles funcionam como um bloco único: ou cabem todos ao lado do logo, ou descem todos juntos.
Aqui está o passo a passo para ajustar seu código:
No HTML (index.html)
Vamos agrupar os três links (Programação, Categorias e Seu local) dentro de um único <li>. Além disso, vamos adicionar uma classe específica no link "Seu local" para garantir que o ícone apareça corretamente.
Substitua a seu <header> atual por esta:
<header>
<nav>
<ul class="menu">
<li class="menu__item">
<a href="#" class="menu__titulo"></a>
</li>
<li class="menu__item menu__agrupado">
<a href="#">Programação</a>
<a href="#">Categorias</a>
<a href="#" class="menu__local">Seu local</a>
</li>
<li class="menu__item menu__pesquisar">
<input class="menu__input" type="search" placeholder="O que você procura?">
</li>
</ul>
</nav>
</header>
flex.css)Adicione o código abaixo ao final do seu arquivo ou depois da classe .menu. Ele vai configurar esse novo grupo para não quebrar internamente e além de outras regras que tive que mudar para não quebrar, assim vai garantir o alinhamento correto em dispositivos móveis.
.menu__agrupado {
display: flex;
gap: 15px;
flex-wrap: nowrap;
}
.menu__agrupado a {
text-decoration: none;
color: #FFFFFF;
white-space: nowrap;
}
.menu__local {
display: flex;
align-items: center;
}
.menu__local::before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
background-image: url('../img/icone-gps.png');
background-repeat: no-repeat;
background-position: center;
margin-right: 8px;
}
.menu__titulo {
display: block;
background-image: url("../img/logo-branco-maior.png");
background-repeat: no-repeat;
background-position: center;
padding: 40px 100px;
width: 100%;
cursor: pointer;
}
.menu__local {
display: flex;
align-items: center;
color: #FFFFFF;
text-decoration: none;
white-space: nowrap;
}
.menu__local::before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
background-image: url('../img/icone-gps.png');
background-repeat: no-repeat;
background-position: center;
margin-right: 8px;
}
.menu__local::after {
content: "";
display: inline-block;
width: 15px;
height: 15px;
background-image: url('../img/icone-seta.png');
background-repeat: no-repeat;
background-position: center;
margin-left: 8px;
}
.menu__local:hover::before,
.menu__local:hover::after {
opacity: 0.7;
}
@media (max-width: 719px) {
.menu {
justify-content: center;
flex-wrap: wrap;
row-gap: 15px;
}
}
Resultado:

Resumo:
Com essa alteração, o navegador trata "Programação + Categorias + Seu local" como uma peça única. Em telas menores, esse bloco desce inteiro, mantendo o alinhamento centralizado e bonito, idêntico ao proposto no Figma do curso.
Faça essas alterações e me avise se funcionou!
Bons estudos!
Sucesso ✨