滚动时如何使菜单栏固定在顶部

Posted

技术标签:

【中文标题】滚动时如何使菜单栏固定在顶部【英文标题】:How can I make a menubar fixed on the top while scrolling 【发布时间】:2011-12-09 17:20:58 【问题描述】:

我想制作一个菜单栏,它在滚动时固定在页面顶部。类似于 Facebook 的顶部菜单。

另外,我想要一个 div 在菜单栏的左侧保存徽标浮动,在菜单栏的右侧有一个导航浮动。

【问题讨论】:

通过固定位置 不要在 *** 上询问任何现成的代码,先按自己的方式尝试,如果出现错误,然后将代码粘贴到 *** 上或询问菜单栏错误。 【参考方案1】:

这应该让你开始

 <div class="menuBar">
        <img class="logo" src="logo.jpg"/>
        <div class="nav"> 
            <ul>
                <li>Menu1</li>
                <li>Menu 2</li>
                <li>Menu 3</li>
            </ul> 
        </div>
    </div>



body
    margin-top:50px;
.menuBar
    width:100%;
    height:50px;
    display:block;
    position:absolute;
    top:0;
    left:0;
    
.logo
    float:left;
    
.nav
    float:right;
    margin-right:10px;
.nav ul li
    list-style:none;
    float:left;
    

【讨论】:

这就是我要找的。谢谢 此代码不回答问题。滚动时它不会保持固定。至少您需要使用position:fixed。我不知道为什么这有任何赞成票,以及为什么它是公认的答案,除了“这只是一些让你开始的代码”。【参考方案2】:
 #header 
        top:0;
        width:100%;
        position:fixed;
        background-color:#FFF;
    

    #content 
        position:static;
        margin-top:100px;
    

【讨论】:

【参考方案3】:

在固定位置设置一个div,你可以使用

position:fixed
top:0;
left:0;
width:100%;
height:50px; /* change me */

【讨论】:

【参考方案4】:

postition:absolute; 标签相对于它的直接父元素定位元素。 我注意到即使在示例中,也没有滚动的空间,当我尝试它时,它不起作用。 因此,要关闭 facebook 浮动菜单,应该使用 position:fixed; 标签。它将元素置换/保持在给定/指定的位置,并且页面的其余部分可以平滑滚动 - 即使是响应式的。

如果可以的话,请查看CSS postion attribute documentation :)

【讨论】:

是的,这是我心中的答案(如果他的意思是按含义固定),但如果他的意思是按术语固定,那么答案应该是位置:固定

以上是关于滚动时如何使菜单栏固定在顶部的主要内容,如果未能解决你的问题,请参考以下文章

滚动时固定在页面顶部的菜单栏导致下面的内容在滚动期间跳转

如何在 CSS 中制作具有变化高度的固定顶部菜单栏?

位置:固定在菜单栏上 - 希望很简单

Bootstrap 3 固定顶部导航栏显示水平滚动

css 用户滚动时固定菜单保持在顶部 - 调整“顶部”以与大型设备上的内容对齐。侧边栏的宽度设置。添加'固定't

双向滚动时隐藏固定菜单