保持固定菜单栏不重叠

Posted

技术标签:

【中文标题】保持固定菜单栏不重叠【英文标题】:Keep Fixed Menu-bar from overlapping 【发布时间】:2014-11-03 21:24:36 【问题描述】:

大家!

我或多或少是在设计一种原型网站。就像其他网站一样,我试图有一个固定位置的菜单栏,但不会与我放在屏幕上的所有其他内容重叠。因此,从本质上讲,我希望在另一个位于页脚的框(网页正文)之上有一个 100% 宽的框(菜单栏)。

我的代码如下所示:

 <header>
   <nav>
     <ul>
       <a href="#"><li>Name</li></a>
       ...More list elements...
     </ul>
   </nav>
 </header>

 header
   background-color:white;
   width:100%;
   padding:15px;
   border-bottom:1px solid black;
   position:fixed;
   margin-top:-25px;

 nav ul li
   list-style-type:none;
   display:inline-block;
   padding:10px;
   margin-right:100px;
   font-family:Script MT, /*To make sure the font is displayable for you*/ Arial;
   font-size:20px;

只要我在文档的其余部分有任何内容(我已将菜单栏放在标签和标签中),菜单栏就会与它重叠,因此它不可见。

所以问题是: 我到底如何让我的菜单栏保持固定但不与其他所有内容重叠?

【问题讨论】:

【参考方案1】:

你需要将内容偏移你的标题的高度,这意味着你需要给它一个固定的高度:

HTML:

<header>
  ...
</header>

<div class="content">
</div>

CSS:

header
  ...
  height:50px;


.content
  margin-top:50px    

【讨论】:

【参考方案2】:

尝试使用z-index 并将其设置为 ex。 9999:

header 
   background-color:white;
   width:100%;
   padding:15px;
   border-bottom:1px solid black;
   position:fixed;
   margin-top:-25px;
   z-index: 9999;

这会将标题放在所有其他元素的前面,除非它们具有更高的 z-index 编号。

【讨论】:

我试过了,但是内容与标题重叠。再说一次,不是我想要的。 你能试着用你所有的代码做一个小提琴吗?使它更容易使用:)【参考方案3】:

如果我理解您的要求,请将padding-top 放在等于菜单栏高度的body 标记上。这样,当您位于页面顶部时,浮动菜单不会与任何内容重叠。

【讨论】:

对我来说,当我这样做时,它会将整个菜单栏向下推。

以上是关于保持固定菜单栏不重叠的主要内容,如果未能解决你的问题,请参考以下文章

菜单栏不工作

Python Tkinter 菜单栏不显示

Mac电脑(苹果电脑)Qt 菜单栏不显示的问题解决办法

CSS中的菜单栏不出现

微信公众号关注界面的菜单栏跟实际的菜单栏不一致

Lion 全屏菜单栏不向下滑动