我有这个推特引导代码

  <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>

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


当前回答

你应该加上

#page {
  padding-top: 65px
}

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

其他回答

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

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

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

添加:

.navbar {
  position: relative;
}

你可以使用.stick-top,它可以在滚动时将导航条固定在顶部,而不需要添加任何css填充

<div class="container-fluid mt-3">
  <nav class="navbar navbar-expand-sm bg-white navbar-light sticky-top pt-0">
    <a class="navbar-brand" href="/">
      <img src="/images/logo-full.png" alt="logo" width="150">
    </a>
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="/">Home</a>
      </li>
    </ul>
  </nav>
  <div class="row">
     .....
  </div>
</div>

在我从MVC 5教程衍生的项目中,我发现改变主体填充没有任何效果。下面的方法对我很有效:

@media screen and (min-width:768px) and (max-width:991px) {
    body {
        margin-top:100px;
    }
}
@media screen and (min-width:992px) and (max-width:1199px) {
    body {
        margin-top:50px;
    }
}

它解决了导航栏折叠成2行或3行的情况。这可以插入到bootstrap.css行之后的任何位置 身体{ 保证金:0; }

添加到你的CSS:

body { 
    padding-top: 65px; 
}

Bootstrap文档:

固定的导航条会覆盖你的其他内容,除非你在正文的顶部添加填充。