汉堡菜单加载到视口外,随机重新出现

时间:2016-06-02 17:05:56

标签: javascript html css

所以我有一个在手机上有汉堡菜单的网站。

问题在于,无论何时在小型设备上加载页面,汉堡包菜单都会在右侧的视口之外。这会导致侧滚动问题和大量空白区域。

我最初假设我写了一些导致这种情况的CSS,但经过实验,我意识到我根本不知道发生了什么。

我有问题的GIF。如果需要,我还会提供一个URL。

继承人的第一个gif

  1. https://gfycat.com/GiftedPlaintiveEgret
  2. 所以发生了什么事。我正在检查网页的DOM。如果您在页面上选择任何随机元素,并编辑CSS属性,则菜单会自行修复。您选择的元素或编辑的css属性无关紧要;当你进行调整时问题得到解决。

    这是第二个gif

    1. https://gfycat.com/EasyIllustriousBlackbear
    2. 在这个gif中,问题只是通过激活一个名为农药的CSS插件来解决。农药只是在文档中添加了另一个外部css表,用蓝色概述了所有内容。请注意,即使我关闭了pesiticde,我的问题也已修复。

      最后是第三个gif

      1. https://gfycat.com/ContentRepentantBeetle
      2. 这是最令人困惑的问题。它只需调整浏览器屏幕大小即可修复汉堡包图标。显然,移动用户无法做到这一点。

        我真的不明白这个问题。我试图在nav元素上设置100%的宽度。我已经编写了一些javascript,当DOM准备就绪时,将css属性添加到页脚中的DIV,然后在几秒钟后将其删除。这不能解决我的问题。我很乐意提供我写的javascript,如果要求的话。

        还有其他人遇到过这样的问题吗?

        EDIT 这是另一个例子。我使用浏览器Blisk在多个设备上测试我的网站。看这个 https://gfycat.com/BouncyFlakyGlobefish

        当我第一次加载网站时,我有汉堡菜单问题。当我告诉浏览器从另一台设备上查看网站时“说从iphone 5切换到iphone 6”时,它解决了这个问题。我对这个问题非常沮丧。

2 个答案:

答案 0 :(得分:0)

白色部分的动画正在增加页面的宽度(将固定在右侧的汉堡包推出视图外),我不确定为什么这不能正常更新动画完成,但在正常工作之前,它似乎需要页面重新流动。

可能的CSS修复方法是添加.bodymargins{overflow:hidden},但这可能会导致其他样式出现问题(在您的网站上未经测试)

如果这不是一个选项,你可以在加载后不久手动触发页面的重新流动(这是一个有点令人讨厌的选项,但比它被破坏更好)

Various re-flow options available here

答案 1 :(得分:-2)

可能是因为您正在使用媒体查询,而且您的浏览器宽度还不够小,无法在测试时触发。

如果没有,请进行媒体查询,不要使用margin-left:auto来缩小屏幕尺寸?