【发布时间】:2012-02-26 07:30:12
【问题描述】:
我刚刚为一个客户建立了一个网站,我遇到了一个奇怪的问题,只出现在 Firefox 浏览器中。
在页面顶部我有一个导航栏,它填充了浏览器的宽度。我已经使用这里描述的技术http://css-tricks.com/full-browser-width-bars/ 来尽可能地实现语义上的效果。然后我不得不在 html 和 body 标签上放置 overflow-x:hidden 以防止用户能够滚动到屏幕的右侧。
这在我从 Mac/PC 上的 Safari、Opera、Chrome 和天堂禁止的每个浏览器中测试过的所有浏览器中都非常有效,但即使是 IE7、8 和 9 也想玩得很好。但是哦,不,Firefox 就是不想跟上它。
虽然我没有想要的水平滚动条,但 Firefox 决定将垂直滚动条的数量增加一倍。如果使用鼠标,我无法水平滚动,但是当我在 Mac 上使用触控板时,垂直移动受到限制,这意味着我无法向下滚动页面,如果我用两根手指轻扫,页面会水平滚动到被遗忘的状态。
我在谷歌和其他地方发现的唯一一件事是这种行为是 Firefox 中的一个错误?
非常感谢任何有关此烦恼的帮助,非常感谢。
更新:添加代码
基本上代码是这样的,因为太多了。我会将您指向该站点,但客户不希望它生效。我们开始:
<nav id="menu">
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
<li>Menu Item 3</li>
</ul>
</nav>
那么css就是上面链接的全宽浏览器栏:
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%;
}
【问题讨论】:
标签: firefox css overflow scrollbars