【问题标题】:css dropdown menu issue on small device小型设备上的css下拉菜单问题
【发布时间】:2014-08-20 23:50:45
【问题描述】:

我正在尝试在我的 iPhone 媒体查询上设置一个修复菜单。只要我在页面顶部单击菜单,它就可以正常工作,但是一旦我向下滚动页面然后单击菜单,它就不会正确折叠,直到我向后滚动再次回到页面顶部。 除了 480px 及以下的媒体查询外,它在所有其他媒体查询上都能正常工作。这是sample page

-苏海尔

【问题讨论】:

    标签: jquery css-position fixed


    【解决方案1】:

    您将要在 .menu-button 上设置 z-index

    .menu-button {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    display: block;
    padding: 1em;
    background: #ff8400;
    color: #222222;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    z-index: 99; <-- HERE
    }
    

    此外,您还需要更改页边距以将您的第一个菜单项“博客”移动到新的顶部菜单 li 下方

    更新:
    是的,要获得边距,请在 .flexnav.flexnav-show 中添加 52px 的边距:

    .flexnav.flexnav-show {
    max-height: 2000px;
    opacity: 1;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    margin-top: 52px; <-- HERE
    }
    

    要让文章向下移动,请在第一个 p 中添加填充。将此添加到最低的媒体查询中:

    p:first-child {
       margin-top: 50px;
    }
    

    【讨论】:

    • 我没有看到它也影响了 li 项目。但是我应该更改 .menu-button 的边距以方便更改 .flexnav li 项目的边距吗?此外,我还需要影响 #article 的边距,以便仅将其向下推送到较低的媒体查询。
    • 谢谢,博客菜单文章显示在菜单中,文章内容也正常显示。如果我在向下滚动页面后单击它,菜单仍然存在问题,直到我再次向上滚动到页面顶部,它才会折叠起来。我还猜想对于 480px 以上的媒体查询,margin-top 值应该更低
    • 有一种方法可以通过在 .flexnav 类中添加一个类: .flexnav{ position:fixed; }
    • 谢谢,解决了 :) 但我需要补偿 margin-top:52px; (以便最上面的 li 项目 Blogg 出现在移动设备上)但是对于 iPad @media all and (min-width: 800px) 我想把 margin-top:0px; (在第 638 行)甚至 -140px 但这没有效果。
    猜你喜欢
    • 1970-01-01
    • 2020-10-25
    • 2011-03-22
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    相关资源
    最近更新 更多