JS组件Bootstrap导航条使用方法详解


Posted in Javascript onApril 29, 2016

导航条是在您的应用或网站中作为导航标头的响应式元组件。

1、默认的导航条

导航条在移动设备上可以折叠(并且可开可关),且在可用的视口宽度增加时变为水平展开模式
定制折叠模式与水平模式的阈值
根据你所放在导航条上的内容的长度,也许你需要调整导航条进入折叠模式和水平模式的阈值。通过改变@grid-float-breakpoint变量的值或加入您自己的媒体查询CSS代码均可实现你的需求。
第一步:
最外面的容器nav标签,并添加nav-bar样式类,表示这里面属于导航条

<nav class="navbar navbar-default" role="navigation"> 
</nav>

 效果:

JS组件Bootstrap导航条使用方法详解

第二步:增加header

<nav class="navbar navbar-default" role="navigation"> 
  <div class="navbar-header"> 
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
  <span class="sr-only">Toggle navigation</span> 
  <span class="icon-bar"></span> 
  <span class="icon-bar"></span> 
  <span class="icon-bar"></span> 
  </button> 
  <a href="#" class="navbar-brand">品牌</a> 
  </div> 
 </nav>

按钮标签里嵌套了三个span的icon。然后给与navbar-toggle样式类和属性collapse(收起),点击的时候目标为data-target。
当窗口缩小到一定程度,右侧的效果显现。

JS组件Bootstrap导航条使用方法详解

第三步:嵌套下拉菜单,form表单,下拉菜单。
代码:

<h1 class="page-header">导航条</h1> 
 <nav class="navbar navbar-default" role="navigation"> 
  <div class="navbar-header"> 
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 
  <span class="sr-only">Toggle navigation</span> 
  <span class="icon-bar"></span> 
  <span class="icon-bar"></span> 
  <span class="icon-bar"></span> 
  </button> 
  <a href="#" class="navbar-brand">品牌</a> 
  </div> 
  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
  <!--嵌套下拉菜单--> 
  <ul class="nav navbar-nav"> 
   <li class="active"><a href="#">Link</a></li> 
   <li><a href="#">Link</a></li> 
   <li><a href="#">Link</a></li> 
   <li class="dropdown"> 
   <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
   下拉<b class="caret"></b> 
   </a> 
   <ul class="dropdown-menu"> 
    <li><a href="#">Action</a></li> 
    <li><a href="#">Action</a></li> 
    <li><a href="#">Action</a></li> 
    <li><a href="#">Action</a></li> 
   </ul> 
   </li> 
  </ul> 
   
  <!--嵌套表单--> 
  <form action="" class="navbar-form navbar-left" role="search"> 
   <div class="form-group"> 
   <input type="text" class="form-control" /> 
   </div> 
   <button type="button" class="btn btn-default">Submit</button> 
   
  </form> 
  <!----> 
  </div> 
 </nav>

预览:

JS组件Bootstrap导航条使用方法详解

增强导航条的可访问性
要增强可访问性,一定要给每个导航条加上role="navigation"。

2、表单
将表单放置于.navbar-form之内可以呈现很好的垂直对齐,并在较窄的viewport中呈现折叠状态。使用对齐选项可以确定其在导航条上出现的位置。

通过使用mixin,.navbar-form和 .form-inline共享了很多代码。

代码

<form action="" class="navbar-form navbar-left" role="search"> 
   <div class="form-group"> 
   <input type="text" class="form-control" /> 
   </div> 
   <button type="button" class="btn btn-default">Submit</button> 
   
  </form>

JS组件Bootstrap导航条使用方法详解

为输入框添加label标签
如果你没有为输入框添加label标签,屏幕阅读器将会遇到问题。对于导航条内的表单,可以通过.sr-only class隐藏label标签。

3、按钮
代码:
<button type="button" class="btn btn-default navbar-btn">登陆</button>
预览:

JS组件Bootstrap导航条使用方法详解

4、文本
把文本包裹在.navbar-text中时,为了有正确的行距和颜色,通常使用<p>标签。
代码段:
<p class="navbar-text">文本</p>
5、非导航的链接
或许你希望在标准的导航组件之外添加标准链接,那么,使用.navbar-link class可以让链接有正确的默认颜色和反色。
代码段:

<p class="navbar-text navbar-right">这个是<a href="#" class="navbar-link">链接</a></p>
 
6、组件对齐
用.navbar-left或者.navbar-right工具类给导航链接、表单、按钮或文本对齐。两种类都用到在特定方向的CSS浮动样式。例如,要对齐导航链接,就要把它们放在个分开的、应用了工具类的<ul>里。

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

7、固定在顶部
添加.navbar-fixed-top可以让导航条固定在顶部。效果就不上了。
需要为body标签设置内补(padding)
这个固定的导航条会遮住页面上的其它内容,除非你给<body>的上方设置了padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是50px。

body { padding-top: 70px; }
一定要放在Bootstrap CSS的核心文件之后。(覆盖问题)
8、固定在底部
用.navbar-fixed-bottom代替。
需要为body标签设置内部(padding)
这个固定的导航条会遮住页面上的其它内容,除非你给<body>底部设置了padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是50px。

body { padding-bottom: 70px; }
一定要在加载Bootstrap CSS的核心后使用它。
9、静止在顶部
通过添加.navbar-static-top即可创建一个与页面的导航条。它会随着页面向下滚动而消失。和.navbar-fixed-*类不同的是,你不用给body添加padding。
10、反色的导航条
通过添加.navbar-inverse类可以改变导航条的外观。

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是关于Bootstrap 导航条使用方法的详细介绍,希望对大家的学习有所帮助。

Javascript 相关文章推荐
js中settimeout方法加参数的使用实例
Feb 27 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
javascript自执行函数
Feb 10 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
详解Vue 2.0封装axios笔记
Jun 22 Javascript
基于JavaScript实现数码时钟效果
Mar 30 Javascript
AngularJs导出数据到Excel的示例代码
Aug 11 Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 Javascript
详解使用angular的HttpClient搭配rxjs
Sep 01 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 10 Javascript
Treegrid的动态加载实例代码
Apr 29 #Javascript
Easyui 之 Treegrid 笔记
Apr 29 #Javascript
浅析BootStrap模态框的使用(经典)
Apr 29 #Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 #Javascript
JavaScript函数柯里化详解
Apr 29 #Javascript
easyui validatebox验证
Apr 29 #Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 #Javascript
You might like
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
PHP 实用代码收集
2010/01/22 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
JavaScript实现区块链
2018/03/14 Javascript
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
Python高斯消除矩阵
2019/01/02 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
Python中常用的os操作汇总
2020/11/05 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
客户经理岗位职责
2015/01/31 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android