使用jQuery / CSS响应式菜单只是为了练习而且我遇到了一个问题,我根本不知道如何解决而不会从根本上改变菜单的工作方式。
基本上,如果你看http://www.fraserboag.com/test/refined.html,你会看到它是如何运作的。如果您将浏览器窗口缩小到800px以下,它会进入滑出式菜单。它是所有固定位置,因此当您向下滚动内容时,它会在页面顶部保持可见。
我遇到的问题是浏览器窗口较小(例如在手机上)。当您点击其中一个主菜单项(或鼠标悬停在桌面上),例如"信息"时,屏幕底部会列出许多子菜单选项,当您滚动页面时,内容菜单后面滚动而不是菜单本身。
显然,解决这个问题的方法是菜单在切换打开时应该优先滚动,当菜单关闭时页面内容会优先滚动,但我完全不知道如何去做(或者如果它甚至可能的话)。
这个菜单的固定顶部特性对我来说非常重要,因为我想编写这段代码并在未来的移动项目中重复使用它。我意识到在移动浏览器上,子菜单也会溢出浏览器窗口的右侧,但我会通过缩小文本大小来解决这个问题。
欢迎所有建议 - 非常感谢! 弗雷泽
答案 0 :(得分:0)
建议不要在移动设备上使用“固定”位置,因为它基本上不受支持。见这里:
CSS "position: fixed;" on iPad/iPhone?
由于固定位置会从DOM的正常流中移除元素,因此位置'固定'会导致您的问题。
更好的方法是查看像headroom.js这样的插件。