在bootstrap 3中正确设置navbar-fixed-top

时间:2014-09-05 08:50:15

标签: twitter-bootstrap-3

我发现菜单栏会覆盖第一行的某些内容。当我点击第一个下拉菜单时,它将找到第一个列表项,但它被菜单栏覆盖。我已尝试申请one solution张贴在jsbin,但失败了。

原始html就在这里。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" 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="#">Bootstrap theme</a>
    </div>
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#first">first</a></li>
            <li><a href="#end">end</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</div>
<ul>
  <li id="first">first</li>
  <li>a2</li><li>a3</li><li>a4</li><li>a5</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li>
  <li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li><li>a</li>
  <li id="end">end</li>
</ul>  

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</body>
</html>

解决方案demo(作为答案)

2 个答案:

答案 0 :(得分:0)

试试这个:

DEMO

<li>

中使用填充顶部
 <li id="first" style="padding-top: 50px;">first</li>

答案 1 :(得分:0)

Protip:阅读文档!

  

Body padding required

     

除非您将padding添加到<body>的顶部,否则固定的导航栏会覆盖您的其他内容。尝试自己的价值观或使用下面的代码段。提示:默认情况下,导航栏高50像素。

body { padding-top: 70px; }
     

确保在核心Bootstrap CSS之后包含