固定菜单溢出移动浏览器和不可滚动

时间:2014-05-19 15:04:17

标签: javascript jquery css responsive-design

使用jQuery / CSS响应式菜单只是为了练习而且我遇到了一个问题,我根本不知道如何解决而不会从根本上改变菜单的工作方式。

基本上,如果你看http://www.fraserboag.com/test/refined.html,你会看到它是如何运作的。如果您将浏览器窗口缩小到800px以下,它会进入滑出式菜单。它是所有固定位置,因此当您向下滚动内容时,它会在页面顶部保持可见。

我遇到的问题是浏览器窗口较小(例如在手机上)。当您点击其中一个主菜单项(或鼠标悬停在桌面上),例如"信息"时,屏幕底部会列出许多子菜单选项,当您滚动页面时,内容菜单后面滚动而不是菜单本身。

显然,解决这个问题的方法是菜单在切换打开时应该优先滚动,当菜单关闭时页面内容会优先滚动,但我完全不知道如何去做(或者如果它甚至可能的话)。

这个菜单的固定顶部特性对我来说非常重要,因为我想编写这段代码并在未来的移动项目中重复使用它。我意识到在移动浏览器上,子菜单也会溢出浏览器窗口的右侧,但我会通过缩小文本大小来解决这个问题。

欢迎所有建议 - 非常感谢! 弗雷泽

1 个答案:

答案 0 :(得分:0)

建议不要在移动设备上使用“固定”位置,因为它基本上不受支持。见这里:

CSS "position: fixed;" on iPad/iPhone?

由于固定位置会从DOM的正常流中移除元素,因此位置'固定'会导致您的问题。

更好的方法是查看像headroom.js这样的插件。