【问题标题】:Fixed header overlays main content固定标题覆盖主要内容
【发布时间】:2014-01-05 03:10:48
【问题描述】:

我正在尝试修复我的标题,我要在标题 div 中添加position:fixedwidth:100%

现在这样做之后,我的主要内容会覆盖在标题上。因此,作为修复,我在搜索中发现在 main-content div 中我可以添加与页眉高度等效的 margin-top。

当我这样做时,我的标题会移动。假设如果我将 margin-left 添加为 100px。我的标题顶部移动了 100 像素,主要内容仍然覆盖在标题内容上。

有什么办法吗?

【问题讨论】:

  • 给出一些示例代码。
  • 你的标题有top: 0吗?
  • 是的……一定是对的!!
  • @user1508372 请为我们创建一个小演示;你可以在jsfiddle.net这样做。

标签: html


【解决方案1】:

只需在内容中从顶部开始添加与标题高度相等的边距,如果已修复,则将 z-index 添加到标题中。

HTML:

<div class="header">Header</div>
<div class="content">Content</div>

CSS:

.header{
    background:#F00;
    height:100px;
    position:fixed;
    top:0;
    width:100%;
    z-index:10
}
.content{
    background:#0C0;
    margin-top:100px;
    height:2000px;
}

jsfiddle:http://jsfiddle.net/ashishanexpert/epKv8/

我绝不会建议在内容 div 中添加 position: absolute;

【讨论】:

  • 嗨,当我在 jsfiddle 中执行此操作时,它工作正常。即使在示例应用程序上。但是我在实际网站中添加了这段代码,当我向下滚动时,我可以看到我的主要内容内容在标题 div 后面传递。
  • 他们将 css 设置为 .content{position:relative; z-index:-1} position:relative 不会对代码产生不良影响。
【解决方案2】:

将此 css 赋予您的主要内容 div:

#main-content /* replace # with . if its a class*/
{
position:absolute;
top:/*height of header*/;
left:0px;
}

它对我来说工作正常。看这个小提琴:http://jsfiddle.net/xPutK/1/

使用css的z-index属性调整元素的深度。

【讨论】:

  • 好的,我会创建一个小提琴
  • 现在我添加了 .headerClass{position: fixed;高度:150px;顶部:0;宽度:100%; z-index: 10;} .contentClass{margin-top:150px;} 现在它不会覆盖标题,但是当我移动滚动条时,主要内容内容正在通过标题 div
  • 嗨,我可以在样本上执行此操作。但是当我在我的实际网站代码上使用这个代码时......它正在改变主要内容的边距。但是当我向上滚动时,我可以看到标题 div 后面经过的文本。我什至无法发布代码,因为我使用的是公司非常复杂的模板。
  • 贴出header和main-content部分代码,我的解决方案应该可以解决。
猜你喜欢
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多