Ive ha appena creato un sito Web per un client e Ive ha uno strano problema che si verifica solo nel browser Firefox.Due barre di scorrimento verticali in Firefox quando si utilizza overflow-x: hidden
Nella parte superiore della pagina ho una barra di navigazione che riempie la larghezza del browser. Ho usato la tecnica descritta qui http://css-tricks.com/full-browser-width-bars/ per ottenere l'effetto semanticamente possibile. Poi Ive ha dovuto posizionare overflow-x: nascosto sui tag html e body per impedire all'utente di scorrere dal lato destro dello schermo.
Questo funziona perfettamente in tutti i browser in cui l'ho provato da Safari su Mac/PC, Opera, Chrome e heaven forbid, ma anche IE7, 8 & 9 voleva giocare bene. Ma oh no Firefox non vuole proprio andare avanti con esso.
Sebbene non abbia barre di scorrimento orizzontali che sono l'effetto desiderato, Firefox ha deciso di raddoppiare la quantità di barre di scorrimento verticali. Non riesco a scorrere orizzontalmente se si utilizza un mouse, ma quando utilizzo il trackpad su Mac, il movimento verticale è limitato, ovvero non riesco a scorrere la pagina verso il basso e, se faccio scorrere due dita, la pagina si sposta orizzontalmente nell'oblio.
L'unica cosa che ho trovato su google e altrove è che questo comportamento è un bug in Firefox?
Qualsiasi aiuto con questo fastidio è molto apprezzato, molte grazie.
Aggiornamento: aggiunto il codice
In sostanza il codice è questo come theres troppo spettacolo tutto. Ti indicherò il sito ma il cliente non lo vuole ancora dal vivo. Ecco come fare:
<nav id="menu">
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
<li>Menu Item 3</li>
</ul>
</nav>
Poi il CSS è questo per una barra del browser fullwidth come il link qui sopra:
html,body{
overflow-x: hidden; /*This prevents the user from scrolling horizontally*/
}
#menu{
position: relative;
background: blue;
}
#menu:before, #menu:after{
content:'';
position: absolute;
background: inherit;
top: 0;
bottom: 0;
width: 9999px; /*huge width to ensure bar fills browser*/
}
#menu:before{
right: 100%;
}
#menu:after{
left: 100%;
}
Inserire questo nel blocco css clearfix non mi ha aiutato. Ho rimosso 'html {overflow-y: scroll;}' che ha risolto il problema con due barre, ma mi chiedo se rimuoverlo porterà ad altri problemi? – nicholaschris