Bootstrap 导航条(导航栏)

导航条

导航条是位于页面顶部的导航标题:

使用 Bootstrap,导航条可以扩展或折叠,具体取决于屏幕大小。使用 <nav class="navbar navbar-default"> 创建标准导航条。

下面的实例演示如何在页面顶部添加导航条:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-default">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">页面 1</a></li>
  20. <li><a href="#">页面 2</a></li>
  21. <li><a href="#">页面 3</a></li>
  22. </ul>
  23. </div>
  24. </nav>
  25. <div class="container">
  26. <h3>基础导航条实例</h3>
  27. <p>导航条是位于页面顶部的导航标题</p>
  28. </div>
  29. </body>
  30. </html>
注意:本页上的所有实例都会显示一个导航条,该导航条在小屏幕上占用了太多空间(但是,在大屏幕上,导航条将位于一行上,因为 Bootstrap 是响应式的)。这个问题(小屏幕)将在本页最后一个实例中解决。

反向导航条

如果您不喜欢默认导航条的样式,Bootstrap 会提供一个可选的黑色导航条:

您仅需要将 .navbar-default 修改为 .navbar-inverse:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">页面 1</a></li>
  20. <li><a href="#">页面 2</a></li>
  21. <li><a href="#">页面 3</a></li>
  22. </ul>
  23. </div>
  24. </nav>
  25. <div class="container">
  26. <h3>反向导航条</h3>
  27. <p>反向的导航条是黑色而不是灰色。</p>
  28. </div>
  29. </body>
  30. </html>

带下拉菜单的导航条

导航条也可以保持下拉菜单。

下面的实例为 "第 1 页" 按钮添加了一个下拉菜单:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
  20. <ul class="dropdown-menu">
  21. <li><a href="#">页面 1-1</a></li>
  22. <li><a href="#">页面 1-2</a></li>
  23. <li><a href="#">页面 1-3</a></li>
  24. </ul>
  25. </li>
  26. <li><a href="#">页面 2</a></li>
  27. <li><a href="#">页面 3</a></li>
  28. </ul>
  29. </div>
  30. </nav>
  31. <div class="container">
  32. <h3>带下拉菜单的导航条</h3>
  33. <p>本例为导航栏中的 "第1页" 按钮添加了一个下拉菜单。</p>
  34. </div>
  35. </body>
  36. </html>

右对齐的导航条

.navbar-right 类用于右对齐导航条按钮。

在下面的实例中,我们在导航条的右侧插入一个 "注册" 按钮和一个 "登录" 按钮。我们还在两个新按钮中的上添加一个字形图标:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">页面 1 <span class="caret"></span></a>
  20. <ul class="dropdown-menu">
  21. <li><a href="#">页面 1-1</a></li>
  22. <li><a href="#">页面 1-2</a></li>
  23. <li><a href="#">页面 1-3</a></li>
  24. </ul>
  25. </li>
  26. <li><a href="#">页面 2</a></li>
  27. </ul>
  28. <ul class="nav navbar-nav navbar-right">
  29. <li><a href="#"><span class="glyphicon glyphicon-user"></span> 注册</a></li>
  30. <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> 登录</a></li>
  31. </ul>
  32. </div>
  33. </nav>
  34. <div class="container">
  35. <h3>右对齐的导航条</h3>
  36. <p>.navbar-right 类用于右对齐导航条按钮</p>
  37. </div>
  38. </body>
  39. </html>

导航条按钮

要在导航栏中添加按钮,请在 Bootstrap 按钮上添加 .navbar-btn 类:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">链接</a></li>
  20. <li><a href="#">链接</a></li>
  21. </ul>
  22. <button class="btn btn-danger navbar-btn">按钮</button>
  23. </div>
  24. </nav>
  25. <div class="container">
  26. <h2>导航条按钮</h2>
  27. </div>
  28. </body>
  29. </html>

导航条表单

要在导航栏中添加表单元素,请将 .navbar-form 单类添加到表单元素并添加 input 元素。请注意,我们对 div 容器添加了一个 .form-group 类。如果您有多个 input 元素,这会添加适当的填充(您将在表单一章了解更多信息)。

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">页面 1</a></li>
  20. <li><a href="#">页面 2</a></li>
  21. </ul>
  22. <form class="navbar-form navbar-left" action="/action_page.php">
  23. <div class="form-group">
  24. <input type="text" class="form-control" placeholder="Search" name="search">
  25. </div>
  26. <button type="submit" class="btn btn-default">提交</button>
  27. </form>
  28. </div>
  29. </nav>
  30. <div class="container">
  31. <h3>导航表单</h3>
  32. </div>
  33. </body>
  34. </html>

您还可以使用 .input-group.input-group-addon 类在输入字段旁边附加图标或帮助文本。在 Bootstrap input 一章中,您将了解有关这些类的更多信息。

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">页面 1</a></li>
  20. <li><a href="#">页面 2</a></li>
  21. </ul>
  22. <form class="navbar-form navbar-left" action="/example/html/action_page.ashx">
  23. <div class="input-group">
  24. <input type="text" class="form-control" placeholder="Search" name="search">
  25. <div class="input-group-btn">
  26. <button class="btn btn-default" type="submit">
  27. <i class="glyphicon glyphicon-search"></i>
  28. </button>
  29. </div>
  30. </div>
  31. </form>
  32. </div>
  33. </nav>
  34. <div class="container">
  35. <h3>导航条表单</h3>
  36. <p>.input-group 类是一个容器,通过在其前面或后面添加图标、文本或按钮来增强输入</p>
  37. <p>.input-group-btn 类在输入字段旁边附加一个按钮。通常用作搜索栏:</p>
  38. </div>
  39. </body>
  40. </html>

导航条文本

使用 .navbar-text 类垂直对齐导航栏中非链接的任何元素(确保正确的填充和文本颜色)。

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <ul class="nav navbar-nav">
  14. <li><a href="#">链接</a></li>
  15. <li><a href="#">链接</a></li>
  16. </ul>
  17. <p class="navbar-text">一些文本</p>
  18. </nav>
  19. <div class="container">
  20. <h3>导航条文本</h3>
  21. <p>使用 .navbar-text 类垂直对齐导航栏中非链接的任何元素(确保正确的填充)</p>
  22. </div>
  23. </body>
  24. </html>

固定导航条

导航条也可以固定在页面的顶部或底部。

固定导航条在固定位置(顶部或底部)保持可见,与页面滚动无关。

.navbar-fixed-top 类使导航条固定在顶部:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body style="height:1500px">
  12. <nav class="navbar navbar-inverse navbar-fixed-top">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <a class="navbar-brand" href="#">我的网站</a>
  16. </div>
  17. <ul class="nav navbar-nav">
  18. <li class="active"><a href="#">首页</a></li>
  19. <li><a href="#">页面 1</a></li>
  20. <li><a href="#">页面 2</a></li>
  21. <li><a href="#">页面 3</a></li>
  22. </ul>
  23. </div>
  24. </nav>
  25. <div class="container" style="margin-top:50px">
  26. <h3>Fixed Navbar</h3>
  27. <div class="row">
  28. <div class="col-md-4">
  29. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  30. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  31. </div>
  32. <div class="col-md-4">
  33. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  34. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  35. </div>
  36. <div class="col-md-4">
  37. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  38. <p>固定导航栏在固定位置(顶部或底部)保持可见,与页面滚动无关。</p>
  39. </div>
  40. </div>
  41. </div>
  42. <h2>滚动这个页面观察效果</h2>
  43. </body>
  44. </html>

同理,.navbar-fixed-bottom 类使导航条保持在底部。


折叠导航条

导航条通常会在小屏幕上占据太多空间。

这时我们应该隐藏导航条,只在需要的时候才展示。

在下面的实例中,导航条被右上角的一个按钮替换。只有单击按钮时,才会显示出来:

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Bootstrap 实例</title>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="https://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
  8. <script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
  9. <script src="https://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
  10. </head>
  11. <body>
  12. <nav class="navbar navbar-inverse">
  13. <div class="container-fluid">
  14. <div class="navbar-header">
  15. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
  16. <span class="icon-bar"></span>
  17. <span class="icon-bar"></span>
  18. <span class="icon-bar"></span>
  19. </button>
  20. <a class="navbar-brand" href="#">我的网站</a>
  21. </div>
  22. <div class="collapse navbar-collapse" id="myNavbar">
  23. <ul class="nav navbar-nav">
  24. <li class="active"><a href="#">首页</a></li>
  25. <li class="dropdown">
  26. <a class="dropdown-toggle" data-toggle="dropdown" href="#">页面 1 <span class="caret"></span></a>
  27. <ul class="dropdown-menu">
  28. <li><a href="#">页面 1-1</a></li>
  29. <li><a href="#">页面 1-2</a></li>
  30. <li><a href="#">页面 1-3</a></li>
  31. </ul>
  32. </li>
  33. <li><a href="#">页面 2</a></li>
  34. <li><a href="#">页面 3</a></li>
  35. </ul>
  36. <ul class="nav navbar-nav navbar-right">
  37. <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
  38. <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
  39. </ul>
  40. </div>
  41. </div>
  42. </nav>
  43. <div class="container">
  44. <h3>折叠导航条</h3>
  45. <p>在本例中,导航条隐藏在小屏幕上,并由右上角的一个按钮取代(尝试重新调整此窗口的大小)。
  46. <p>只有单击按钮时,才会显示导航条。</p>
  47. </div>
  48. </body>
  49. </html>