Bootstrap 3:如何在100%高度后粘贴

时间:2014-01-16 22:45:48

标签: jquery twitter-bootstrap-3 affix

我试图让我的导航栏在设置为100%高度的介绍后粘贴到顶部,但我不确定这样做的最佳方法是什么?

代码:

CSS
html, body{ height: 100%; min-height: 100%;} 
.intro {height: 100%;text-align: center;}

HTML
<div class="intro">
  <div class="container">
    <h1>Lorem Ipsum</h1>
  </div>
</div>

<nav>
  <div class="container">
    <div class="navbar-header" data-spy="affix">
      <button type="button" class="navbar-toggle"  data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
         <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Test Navbar</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</nav>

编辑:我正在使用Bootstrap 3.0。

2 个答案:

答案 0 :(得分:4)

您可以使用jQuery函数计算#intro

的高度
$('nav').affix({
      offset: {
        top: $('.intro').height()
      }
}); 

这是一个以类似方式工作的演示..

http://bootply.com/106399

答案 1 :(得分:1)

为您的nav元素提供ID:

<nav id="derp">
  <div class="container">

然后获取该元素的偏移量:

$('nav').affix({
      offset: {
        top: $('nav#derp').offset().top
      }
}); 

这是一种比依赖前面元素更好的方法(例如.intro上的高度)