1
resposta

[Dúvida] O menu do desktop só ficou como o do tablet, somente a 1a <ul class> ( 5 elementos)

Olá, consegui fazer o menu lateral, mas deixei os itens dele distribuidos dentro por toda a altura do container em vez de na parte superior, porque não consegui que se concentrassem na parte superior. Mas minha maior dúvida é porque quando acima do tamanho de frame de tablet (desktop), o menu continua com somentecom a primeira , não deveriam estarem todos ali?

.cabecalho__container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0%;
}


.cabecalho__pesquisar__item{
    display: none;
}


.superior__secao__container{
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: scroll;
    gap: 15px;
}


.menu__container{
    position: fixed;
    bottom: 0%;  
    width: 100%;
    height: 74px;
}


.menu__lista{
    display: flex;
    justify-content: space-around;
    height: 100%;
    align-items: center;
    margin-bottom: 20px;
}


.menu__lista:nth-child(2),
.menu__lista:nth-child(3),
.menu__lista:nth-child(4){
    display: none;
}


.menu__itens{
    display: flex;
    flex-direction: column;
    gap: 5px;
}


.rodape__container{

    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    /* ou flex-flow: column wrao; */
}



  @media(min-width:834px){

    .cabecalhopesquisaritem{
        display: block;
    }


    .menucontainer{ 
        position:absolute;  
        left: 0%;
        top: 85px;   
        height:auto;
        width: 74px;
    }


    .menulista{
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }


    .rodapecontainer{
        justify-content: space-between;
    }


}
1 resposta

Parece que você está encontrando alguns problemas com a exibição dos itens do seu menu lateral quando a tela está acima de um certo tamanho, especificamente no que parece ser um layout de desktop. Com base nas informações fornecidas, vou apontar algumas correções e sugestões que podem ajudar a resolver seus problemas.

Distribuição dos Itens do Menu na Parte Superior

Para garantir que os itens do menu fiquem concentrados na parte superior do contêiner, certifique-se de que seu .menu__container no layout de desktop esteja configurado para alinhar seus itens internos ao início. Uma vez que você está usando flex-wrap: wrap; nos .menu__lista, você pode querer assegurar que os itens estejam alinhados ao início. Porém, com a configuração atual, eles já devem começar do topo, a menos que outras propriedades estejam afetando seu posicionamento.

Itens do Menu Não Exibidos em Tamanho de Desktop

Sua regra CSS está configurando os itens além do primeiro para display: none; na configuração padrão. Quando você muda para o layout de desktop com a media query @media(min-width:834px), não há uma regra explicitamente revertendo o display: none; para esses itens. Para garantir que todos os itens do menu sejam exibidos em tamanhos de tela de desktop, você precisa ajustar sua media query para também modificar a propriedade display desses itens.

Além disso, há um pequeno erro de digitação em suas classes dentro da media query. Você está se referindo às classes sem o _ (underscore), o que não coincide com as definições de classe acima da media query. Por exemplo, .cabecalhopesquisaritem deve ser .cabecalho__pesquisar__item, e assim por diante para .menucontainer e .rodapecontainer.

Aqui está uma correção proposta:

@media(min-width:834px) {

    .cabecalho__pesquisar__item{
        display: block;
    }

    .menu__container{ 
        position: absolute;  
        left: 0%;
        top: 85px;   
        height: auto;
        width: 74px;
    }

    .menu__lista{
        display: flex;
        flex-direction: column; /* Alterado para organizar os itens em coluna */
        justify-content: flex-start;
        align-items: center; /* Para centralizar os itens horizontalmente dentro do menu */
    }

    .menu__lista:nth-child(2),
    .menu__lista:nth-child(3),
    .menu__lista:nth-child(4){
        display: flex; /* Ou a propriedade display apropriada para esses itens */
    }

    .rodape__container{
        justify-content: space-between;
    }

}

Notas Adicionais

  • Certifique-se de que todos os seletores CSS estejam corretos e coincidam com as classes no seu HTML.
  • Ao usar flex-direction: column; dentro da media query para .menu__lista, os itens serão organizados em coluna, o que pode ajudar a mantê-los agrupados no topo.
  • A utilização de justify-content: flex-start; em um contêiner flexível com flex-direction: column; garante que os itens sejam alinhados ao topo do contêiner.

Faça esses ajustes e veja se resolve o problema. Se ainda enfrentar dificuldades, pode ser útil revisar a estrutura do seu HTML para garantir que as classes estejam sendo aplicadas corretamente.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade