0

0

聊聊Bootstrap中的导航条

青灯夜游

青灯夜游

发布时间:2021-03-31 09:49:56

|

4308人浏览过

|

来源于博客园

转载

聊聊Bootstrap中的导航条

导航条(navbar)和导航(nav),就相差一个字,多了一个“条”字。其实在Bootstrap框架中他们还是明显的区别。在导航条(navbar)中有一个背景色、而且导航条可以是纯链接(类似导航),也可以是表单,还有就是表单和导航一起结合等多种形式。本文将详细介绍Bootstrap导航条。

基础导航条

  在Bootstrap框架中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多。

  导航条是在应用或网站中作为导航页头的响应式基础组件。它们在移动设备上可以折叠(并且可开可关),且在视口(viewport)宽度增加时逐渐变为水平展开模式 

  在制作一个基础导航条时,主要分以下几步:

  1、首先在制作导航的列表(

    )基础上添加类名“navbar-nav”

      2、在列表外部添加一个容器(p),并且使用类名“navbar”和“navbar-default”

    【原理分析】

      “.navbar”样式的主要功能就是设置左右padding和圆角等效果,但它和颜色相关的样式没有进行任何的设置

    .navbar {
      position: relative;
      min-height: 50px;
      margin-bottom: 20px;
      border: 1px solid transparent;
    }

      导航条的颜色都是通过“.navbar-default”来进行控制

    .navbar-default {
      background-color: #f8f8f8;
      border-color: #e7e7e7;
    }

      navbar-nav样式是在导航.nav的基础上重新调整了菜单项的浮动与内外边距。同时也不包括颜色等样式设置,而颜色和其他样式是通过配合父容器“navbar-default”来一起实现

      [注意]最好使用 <nav></nav> 元素,如果使用的是通用的 <p></p> 元素的话,务必为导航条设置 role="navigation" 属性,这样能够让使用辅助设备的用户明确知道这是一个导航区域

    <div class="navbar navbar-default" role="navigation">
         <ul class="nav navbar-nav">
             <li class="active"><a href="##">网站首页</a></li>
            <li><a href="##">系列教程</a></li>
            <li><a href="##">名师介绍</a></li>
            <li><a href="##">成功案例</a></li>
            <li><a href="##">关于我们</a></li>
         </ul>
    </div>

    1.png

    相关推荐:《bootstrap教程

    导航条部件

    【标题】

      在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也做了这方面考虑,其通过“navbar-header”和“navbar-brand”来实现

    <div class="navbar navbar-default" role="navigation">
       <div class="navbar-header">
           <a href="##" class="navbar-brand">小火柴的蓝色理想</a>
       </div>
        <ul class="nav navbar-nav">
           <li class="active"><a href="##">HTML</a></li>
           <li><a href="##">CSS</a></li>
           <li><a href="##">Javascript</a></li>
           <li><a href="##">Bootstrap</a></li>
           <li><a href="##">jQuery</a></li>
         </ul>
    </div>

    2.png

    【品牌图标】

      将导航条内放置品牌标志的地方替换为 <img alt="聊聊Bootstrap中的导航条" > 元素即可展示自己的品牌图标。由于 .navbar-brand 已经被设置了内补(padding)和高度(height),需要根据自己的情况添加一些 CSS 代码从而覆盖默认设置

    <div class="navbar navbar-default" role="navigation">
       <div class="navbar-header">
          <a class="navbar-brand" style="margin-top:-10px" href="#">
            @@##@@
          </a>
        </div>
        <ul class="nav navbar-nav">
           <li class="active"><a href="##">HTML</a></li>
           <li><a href="##">CSS</a></li>
           <li><a href="##">Javascript</a></li>
           <li><a href="##">Bootstrap</a></li>
           <li><a href="##">jQuery</a></li>
         </ul>
    </div>

    聊聊Bootstrap中的导航条【二级菜单】

      在基础导航条中对菜单提供了当前状态,禁用状态,悬浮状态等效果,而且也可以带有二级菜单的导航条

    <div class="navbar navbar-default" role="navigation">
        <ul class="nav navbar-nav">
             <li class="active"><a href="##">网站首页</a></li>
            <li class="dropdown">
              <a href="##" data-toggle="dropdown" class="dropdown-toggle">系列教程<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="##">CSS3</a></li>
                <li><a href="##">JavaScript</a></li>
                <li class="disabled"><a href="##">PHP</a></li>
              </ul>
           </li>
           <li><a href="##">关于我们</a></li>
        </ul>
    </div>

    3.png

    【部件排列】

      通过添加 .navbar-left 和 .navbar-right工具类让导航链接、表单、按钮或文本对齐。两个类都会通过 CSS 设置特定方向的浮动样式。例如,要对齐导航链接,就要把它们放在个分开的、应用了工具类的

      标签里

        这些类是 .pull-left 和 .pull-right 的 mixin 版本,但是他们被限定在了媒体查询(media query)中,这样可以更容易的在各种尺寸的屏幕上处理导航条组件

        [注意]导航条目前不支持多个.navbar-right类。为了让内容之间有合适的空隙,最后一个.navbar-right元素使用负边距(margin)。如果有多个元素使用这个类,它们的边距(margin)将不能按照预期正常展现

      【表单】

        有的导航条中会带有搜索表单,Bootstrap框架中提供了一个“navbar-form”,使用方法很简单,在navbar容器中放置一个带有navbar-form类名的表单即可

        navbar-left实现左浮动,navbar-right实现右浮动

      <div class="navbar navbar-default" role="navigation">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
             <li><a href="##">Bootstrap</a></li>
             <li><a href="##">jQuery</a></li>
           </ul>
           <form action="##" class="navbar-form navbar-left" rol="search">
                 <div class="form-group">
                    <input type="text" class="form-control" placeholder="请输入关键词" />
                 </div>
              <button type="submit" class="btn btn-default">搜索</button>
           </form>
      </div>

      4.png

      Dora
      Dora

      创建令人惊叹的3D动画网站,无需编写一行代码。

      下载

      【按钮】

        对于不包含在 <form></form> 中的 <button></button> 元素,加上 .navbar-btn 后,可以让它在导航条里垂直居中。有一些对于为辅助设备提供可识别标签的方法,例如, aria-labelaria-labelledby 或者 title 属性。如果这些方法都没有,屏幕阅读器将使用 placeholder 属性(如果这个属性存在的话),但是请注意,使用 placeholder 代替其他识别标签的方式是不推荐的

        [注意]就像标准的 按钮类 一样,.navbar-btn 可以被用在 <a></a> 和 <input> 元素上。然而,在 .navbar-nav 内,.navbar-btn 和标准的按钮类都不应该被用在 <a></a> 元素上。

      <div class="navbar navbar-default" role="navigation">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
          <button type="button" class="btn btn-default navbar-btn">Sign in</button>
      </div>

      5.png【文本】

        把文本包裹在 .navbar-text中时,为了有正确的行距和颜色,通常使用 <p></p> 标签

      <div class="navbar navbar-default" role="navigation">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
          <p class="navbar-text">Signed in as huochai</p>
      </div>

      6.png

      【非导航链接】

        可以在标准的导航组件之外添加标准链接,使用 .navbar-link 类可以让链接有正确的默认颜色和反色设置

      <div class="navbar navbar-default" role="navigation">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
          <p class="navbar-text navbar-left">Signed in as <a href="#" class="navbar-link">huochai</a></p>
      </div>

      7.png

      导航条位置

        很多情况下,设计师希望导航条固定在浏览器顶部或底部,这种固定式导航条的应用在移动端开发中更为常见。Bootstrap框架提供了g两种固定导航条的方式:

         ☑  .navbar-fixed-top:导航条固定在浏览器窗口顶部

         ☑  .navbar-fixed-bottom:导航条固定在浏览器窗口底部

        使用方法很简单,只需要在制作导航条最外部容器navbar上追加对应的类名即可

        这个固定的导航条会遮住页面上的其它内容,除非给  元素底部设置了 padding。提示:导航条的默认高度是 50px

      body { padding-top: 70px; }
      body { padding-bottom: 70px; }
      <body style="padding:70px 0;">
      <nav class="navbar navbar-default navbar-fixed-top">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </nav>
      <p>测试内容<br><br>测试内容<br><br>测试内容<br><br>测试内容<br><br>测试内容<br><br>测试内容<br><br>测试内容</p>
      <nav class="navbar navbar-default navbar-fixed-bottom">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </nav>

      【静止在顶部】

        通过添加 .navbar-static-top 类即可创建一个与页面等宽度的导航条,它会随着页面向下滚动而消失

      <nav class="navbar navbar-default navbar-static-top">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </nav>
      <p>测试内容<br><br><br>测试内容<br><br><br>测试内容<br><br><br>测试内容<br><br><br>测试内容<br><br><br>测试内容<br><br><br>测试内容</p>

      响应式导航条

        Bootstrap的响应式导航条实现如下:

        1、保证在窄屏时需要折叠的内容必须包裹在带一个p内,并且为这个p加入collapse、navbar-collapse两个类名。最后为这个p添加一个class类名或者id名

      <div class="collapse navbar-collapse" id="example">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </div>

        或者

      <div class="collapse navbar-collapse example">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </div>

        2、保证在窄屏时要显示的图标样式(固定写法):

      <button class="navbar-toggle" type="button" data-toggle="collapse">
        <span class="sr-only">Toggle Navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>

        3、并为button添加data-target=".类名/#id名",究竞是类名还是id名呢?由需要折叠的p来决定。如

      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#example">
        <span class="sr-only">Toggle Navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>

        或者,对应class="example"

      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".example">
        <span class="sr-only">Toggle Navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <div class="navbar navbar-default" role="navigation">
        <div class="navbar-header">
             <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-responsive-collapse">
               <span class="sr-only">Toggle Navigation</span>
               <span class="icon-bar"></span>
               <span class="icon-bar"></span>
               <span class="icon-bar"></span>
             </button>
        </div>
        <div class="collapse navbar-collapse navbar-responsive-collapse">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
        </div>
      </div>

      8.png

      反色导航条

        反色导航条其实是Bootstrap框架提供的第二种风格的导航条,与默认的导航条相比,使用方法并无区别,只是将navbar-deafult类名换成navbar-inverse。其变化只是导航条的背景色和文本做了修改

      <div class="navbar navbar-inverse" role="navigation">
          <ul class="nav navbar-nav">
             <li class="active"><a href="##">HTML</a></li>
             <li><a href="##">CSS</a></li>
             <li><a href="##">Javascript</a></li>
           </ul>
      </div>

      更多编程相关知识,请访问:编程视频!!

      11.png

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

870

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

30

2025.12.06

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

236

2023.12.07

margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

466

2023.12.18

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

175

2023.12.07

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2023.11.24

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2023.11.24

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

9

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

22

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 12.4万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号