Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    217

    Menu verticale a comparsa non scorre

    Nella versione mobile del mio sito, il menu a comparsa (attivato/disattivato dal tasto a tre linee orizzontali) non può essere scorso.
    Scorre sempre il contenuto "sottostante", pertanto, se il menù si allunga con l'apertura di sottocategorie, le voci più in basso sono irraggiungibili.
    Come posso fare in modo che il menu, se aperto, sia scrollabile?

    Questo il css:
    codice:
    .main-nav {
        padding: 0;
        margin: 0;
        margin-top: 50px;
        width: 100%;
        position: fixed;
        text-align: center;
        z-index: 1000;
    }

  2. #2
    Utente di HTML.it L'avatar di stoneweb
    Registrato dal
    Jul 2016
    residenza
    Torino
    Messaggi
    162
    Ciao, potresti usare un "overflow-y: auto" sugli ul che fanno da sottomenu, ma ricordati che per funzionare l'overflow l'ul o div deve avere un'altezza fissa, es: width: 300px;
    Work hard. Code harder.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    217
    Ottimo, grazie!

    2 cose, di contorno:
    1- come mai suggerisci di lavorare sugli <ul> e non sul div generale main-nav? Qualche vantaggio?
    2- vedo che, terminato lo scorrimento del menu che compare sopra alla pagina, lo scorrimento continua a coinvolgere la pagina sottostante. C'è un modo per bloccare in assoluto lo scroll della pagina finchè il menu è aperto?

  4. #4
    Utente di HTML.it L'avatar di stoneweb
    Registrato dal
    Jul 2016
    residenza
    Torino
    Messaggi
    162
    1 - Nessun vantaggio che mi venga in mente, semplicemente pensavo volessi che scrollasse solo l'ul del submenu
    2 - Che mi venga in mente così a brucio potrebbe starci un js che dica se il main-nav è aperto non scrollare il body. Ho visto che il sito usa jquery quindi potresti mettere qualcosa del genere:
    codice:
    $(window).scroll('click', function() { 
       if($('.main-nav').hasClass('mobile_in')) { 
          $('body').css('overflow','hidden'); 
       } else { 
          $('body').css('overflow','auto'); 
       } 
    })
    Work hard. Code harder.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.