在html中定位固定标题

Sow*_*mya 44 html css jquery html5 css3

我有一个固定位置的标题(动态高度).

我需要将容器div放在标题下方.由于标题高度是动态的,我不能使用固定值作为上边距.

如何才能做到这一点?

这是我的CSS:

    #header-wrap {
    position: fixed;
    height: auto;
    width: 100%;
    z-index: 100
}
#container{ 
    /*Need to write css to start this div below the fixed header without mentioning top margin/paading*/
}
Run Code Online (Sandbox Code Playgroud)

......和HTML:

<div id="header-wrap">
  <div id="header">
    <div id="menu">
      <ul>
      <li><a href="#" class="active">test 0</a></li>
      <li><a href="#">Give Me <br />test</a></li>
      <li><a href="#">My <br />test 2</a></li>
      <li><a href="#">test 4</a></li> 
      </ul>
    </div>
    <div class="clear">
    </div>
  </div>
</div><!-- End of header -->

<div id="container">
</div>
Run Code Online (Sandbox Code Playgroud)

mic*_*nic 56

你的#container应该在#header-wrap之外,然后为#header-wrap指定一个固定的高度,之后,为#container指定margin-top等于#header-wrap的高度.像这样的东西:

#header-wrap {
    position: fixed;
    height: 200px;
    top: 0;
    width: 100%;
    z-index: 100;
}
#container{ 
    margin-top: 200px;
}
Run Code Online (Sandbox Code Playgroud)

希望这是你需要的:http: //jsfiddle.net/KTgrS/

  • 绕过要求Javascript来衡量和调整边距的一种方法是只复制标题中的内容.将一个副本放在"visibility:hidden"样式的div中,该div仍然是页面的一部分,另一个副本为"position:fixed". (6认同)

Sow*_*mya 6

好!正如我现在看到的问题,我意识到由于标题的动态高度,我不想提及固定边距值.

以下是我一直用于此类场景的内容.

使用jQuery计算标题高度并将其应用为顶部边距值.

var divHeight = $('#header-wrap').height(); 
$('#container').css('margin-top', divHeight+'px');
Run Code Online (Sandbox Code Playgroud)

演示