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 相关文章推荐
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
jQuery选择器源码解读(三):tokenize方法
Mar 31 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
JavaScript制作简单分页插件
Sep 11 Javascript
详解AngularJs ui-router 路由的简单介绍
Apr 26 Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 Javascript
express+vue+mongodb+session 实现注册登录功能
Dec 06 Javascript
vue-test-utils初使用详解
May 23 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
vuex实现数据状态持久化
Nov 11 Javascript
浅谈vue的第一个commit分析
Jun 08 Javascript
微信小程序地图实现展示线路
Jul 29 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
用缓存实现静态页面的测试
2006/12/06 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
一个JS翻页效果
2007/07/23 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
python实现交并比IOU教程
2020/04/16 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
执行总经理岗位职责
2014/02/03 职场文书
节约粮食标语
2014/06/18 职场文书
竞选学委演讲稿
2014/09/13 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
python 命令行传参方法总结
2021/05/25 Python
python分分钟绘制精美地图海报
2022/02/15 Python
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
python基础之//、/与%的区别详解
2022/06/10 Python