Właśnie zbudowałem stronę internetową dla klienta i mam dziwny problem, który występuje tylko w przeglądarce Firefox.Dwa pionowe paski przewijania w przeglądarce Firefox przy korzystaniu z overflow-x: hidden
U góry strony Mam pasek nawigacyjny, który wypełnia szerokość przeglądarki. Użyłem techniki opisanej tutaj, aby osiągnąć efekt tak semantycznie jak to tylko możliwe. Następnie musiałem umieścić overflow-x: ukryty na znacznikach HTML i body, aby uniemożliwić użytkownikowi przewijanie z prawej strony ekranu.
Działa to znakomicie w każdej przeglądarce, w której testowałem to z Safari na Macu/PC, Opera, Chrome i niebie, ale nawet IE7, 8 & 9 chciało grać ładnie. Ale och, Firefox po prostu nie chce się z tym pogodzić.
Mimo że nie ma poziomych pasków przewijania, które są pożądanym efektem, Firefox postanowił podwoić liczbę pionowych pasków przewijania. Nie mogę przewijać w poziomie, jeśli używam myszy, ale kiedy używam gładzika na Macu, ruch w pionie jest ograniczony, co oznacza, że nie mogę przewinąć strony, a jeśli wykonam dwukrotne przesunięcie palcem, strona przewinie się w poziomie do zapomnienia.
Jedyną rzeczą, którą znalazłem w Google i gdzie indziej jest to, że to zachowanie jest błędem w Firefoksie?
Każda pomoc w tej irytacji jest bardzo cenna, Wielkie dzięki.
Aktualizacja: Kod Dodany
Zasadniczo kod jest to jak tam zbyt wiele pokazać go wszystkim. Chciałbym wskazać ci stronę, ale klient nie chce jej jeszcze na żywo. Zaczynamy:
<nav id="menu">
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
<li>Menu Item 3</li>
</ul>
</nav>
Następnie css jest to dla pełnej szerokości paska przeglądarki jako linku powyżej:
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%;
}
Umieszczenie tego w bloku css cleanfix mi nie pomogło. Usunąłem 'html {overflow-y: scroll;}', który naprawił problem z dwoma taktami, ale zastanawiam się, czy usunięcie tego spowoduje inne problemy? – nicholaschris