我有这个推特引导代码

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

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


当前回答

bootstrap v4 starter模板css使用:

body {
  padding-top: 5rem;
}

其他回答

我使用jQuery来解决这个问题。这是BS 3.0.0的代码片段:

$(window).resize(function () { 
    $('body').css('padding-top', parseInt($('#main-navbar').css("height"))+10);
});

$(window).load(function () { 
    $('body').css('padding-top', parseInt($('#main-navbar').css("height"))+10);        
});

对于引导3,类navbar-static-top而不是navbar-fixed-top可以防止这个问题,除非你需要导航栏始终可见。

在我从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; }

<div class='navbar' data-spy="affix" data-offset-top="0">

如果您的导航栏最初位于页面的顶部,则将该值设置为0。否则,将data-offset-top的值设置为导航栏上方内容的值。

同时,你需要修改css如下:

.affix{
  width:100%;
  top:0;
  z-index: 10;
}

一个更方便的解决方案供您参考,它在我所有的项目中都完美无缺:

更改您的第一个“div”

<div class='navbar navbar-fixed-top'>

to

<div class="navbar navbar-default navbar-static-top">