我有这个推特引导代码

  <div class='navbar navbar-fixed-top'>
    <div class='navbar-inner'>
      <div class='container'>
        <a class='btn btn-navbar' data-target='.nav-collapse' data-toggle='collapse'>
          <span class='icon-bar'></span>
          <span class='icon-bar'></span>
          <span class='icon-bar'></span>
        </a>
        <div class='nav-collapse'>
          <ul class='nav'>
            <li class='active'>
              <a href='some_url'>My Home</a>
            </li>
            <li>
              <a href='some_url'>Option 1 </a>
            </li>
            <li>
              <a href='some_url'>Another option</a>
            </li>
            <li>
              <a href='some_url'>Another option</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>

但是当我查看页面的开始部分时,导航栏挡住了页面顶部附近的一些内容。有什么想法,如何使它下推其余的内容较低时,页面的顶部被查看,以便内容不被导航栏阻挡?


当前回答

如果使用响应式引导,添加这样的填充是不够的。在这种情况下,当你调整窗口大小时,你会在页面顶部和导航栏之间得到一个间隙。正确的解决方案是这样的:

body {
  padding-top: 60px;
}
@media (max-width: 979px) {
  body {
    padding-top: 0px;
  }
}

其他回答

我已经很成功地创建了一个虚拟的非固定导航栏在我真正的固定导航栏之前。

<nav class="navbar navbar-default"></nav> <!-- Dummy nav bar -->
<nav class="navbar navbar-default navbar-fixed-top"> <!-- Real nav bar -->
    <!-- Nav bar details -->
</nav>

这种间距在所有屏幕尺寸上都很适用。

你应该加上

#page {
  padding-top: 65px
}

为了不破坏粘性页脚或其他东西

使用百分比是比像素更好的解决方案。

body {
  padding-top: 10%; //This works regardless of display size.
}

如果需要,您仍然可以显式地添加不同的断点,正如@spajus在另一个回答中提到的那样

如果使用响应式引导,添加这样的填充是不够的。在这种情况下,当你调整窗口大小时,你会在页面顶部和导航栏之间得到一个间隙。正确的解决方案是这样的:

body {
  padding-top: 60px;
}
@media (max-width: 979px) {
  body {
    padding-top: 0px;
  }
}

添加:

.navbar {
  position: relative;
}