Bootstrap导航条的使用和理解3


Posted in Javascript onDecember 14, 2016

以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站)

导航条

默认样式的导航条

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

以下代码和注释是我学习过程中的理解

(注意 引入必要的.css 和 .js查看)

<!DOCTYPE html>
<html lang="zh-CN">
 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Bootstrap 导航条模板</title>
 <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet">
 <!--[if lt IE 9]>
 <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
 <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
 <![endif]-->
 </head>
 <body>

 <nav class="navbar navbar-default">
 <!-- <div class="container-fluid"> -->
 <!-- 将 100% 宽度的布局转换为固定宽度的栅格布局。 -->
 <div class="container">

 <!-- 品牌商标 和 获得更好的移动分组显示-->
 <!-- .navbar-header元素里放了一个button按钮和一个a链接
  先说简单的a链接,用于放置网页logo,导航栏上通常都需要
  button按钮 是一个开关,当在移动设备上显示是,导航条一行显示不完,导航具体内容部分变会崩塌原有的显示形式,收集为多行显示,并隐藏,使用button 按钮可控制其(显示/隐藏)
  -->
 <!-- Brand and toggle get grouped for better mobile display -->

<!-- 以下导航头部 -->
 <div class="navbar-header">
  <!-- 当屏幕缩小时 id为bs-example-navbar-collapse-1的元素隐藏,使用下面这个button 调出 #bs-example-navbar-collapse-1元素 -->
  <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
  <!-- <span class="sr-only">Toggle navigation</span> -->

  <!-- 下面三个span 只是用来显示 三条 横线样式,可以清除注释看看 -->
  <!-- <span class="icon-bar"></span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span> -->
  更多
  </button>

  <!-- 将导航条内放置品牌标志的地方替换为 <img> 元素即可展示自己的品牌图标。由于 .navbar-brand 已经被设置了内补(padding)和高度(height),你需要根据自己的情况添加一些 CSS 代码从而覆盖默认设置。 -->
  <!-- 放置商标的地方 -->
  <a class="navbar-brand" href="#">Brand</a>
  <!-- a链接里当然也可以图片 或 字体图标 -->
 </div>


<!-- 以下为导航具体内容,身体部分 -->

 <!-- 收集导航链接、表单和其他内容 方便移动设备时。收集隐藏 -->
 <!-- Collect the nav links, forms, and other content for toggling -->
 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 <!-- 导航条的内容里有五部分 根据需求更改-->
 <!-- 第一部分 -->
  <ul class="nav navbar-nav">
  <li class="active"><a href="#">链接<span class="sr-only">(current)</span></a></li>
  <li><a href="#">链接</a></li>
  <li class="dropdown">
  <!-- 用来控制 下拉列表显示/隐藏 -->
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">下拉 <span class="caret"></span></a>
  <ul class="dropdown-menu">
  <li><a href="#">一个行为</a></li>
  <li><a href="#">另一个行为</a></li>
  <li><a href="#">其他的行为</a></li>
  <!-- .divider 分隔器 与上面分隔一条线 -->
  <li role="separator" class="divider"></li>
  <li><a href="#">分隔开的链接</a></li>
  <li role="separator" class="divider"></li>
  <li><a href="#">另一个分隔开的链接</a></li>
  </ul>
  </li>
  </ul>
  
  <!-- 第二部分 一个文本 -->
  <!-- 把文本包裹在 .navbar-text中时,为了有正确的行距和颜色,通常使用 <p> 标签。 -->
  <p class="navbar-text">文本内容</p>

  <!-- 第三部分 是一个表单-->
  <!-- 将表单放置于 .navbar-form 之内可以呈现很好的垂直对齐,并在较窄的视口(viewport)中呈现折叠状态。 使用对齐选项可以规定其在导航条上出现的位置。 -->
  <form class="navbar-form navbar-left" role="search">
  <div class="form-group">
  <input type="text" class="form-control" placeholder="请输入内容">
  </div>
  <button type="submit" class="btn btn-default">提交</button>
  </form>

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

  <!-- 第五部分 -->
  <!-- 或许你希望在标准的导航组件之外添加标准链接,那么,使用 .navbar-link 类可以让链接有正确的默认颜色和反色设置。 -->
  <p class="navbar-text">正常文本<a href="#" class="navbar-link"> 非导航链接</a></p>
  
  

 </div><!-- /.navbar-collapse -->

 </div><!-- /.container-fluid -->
 </nav>



 <script src="lib/jquery/jquery.js"></script>
 <script src="lib/bootstrap/js/bootstrap.js"></script>
 </body>
</html>

组件排列

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

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

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

我们将在 v4 版本中重写这个组件时重新审视这个功能。

 固定在顶部

添加 .navbar-fixed-top 类可以让导航条固定在顶部,还可包含一个 .container 或 .container-fluid 容器,从而让导航条居中,并在两侧添加内补(padding)。

需要为 body 元素设置内补(padding)
这个固定的导航条会遮住页面上的其它内容,除非你给 <body> 元素底部设置了 padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是 50px。

body { padding-top: 70px; }

<nav class="navbar navbar-default navbar-fixed-top">
 <div class="container">
 ...
 </div>
 </nav>

 固定在底部

添加 .navbar-fixed-bottom 类可以让导航条固定在底部,并且还可以包含一个 .container 或 .container-fluid 容器,从而让导航条居中,并在两侧添加内补(padding)。

需要为 body 元素设置内补(padding)
这个固定的导航条会遮住页面上的其它内容,除非你给 <body> 元素底部设置了 padding。用你自己的值,或用下面给出的代码都可以。提示:导航条的默认高度是 50px。

body { padding-bottom: 70px; }

<nav class="navbar navbar-default navbar-fixed-bottom">
 <div class="container">
 ...
 </div>
 </nav>

静止在顶部

通过添加 .navbar-static-top 类即可创建一个与页面等宽度的导航条,它会随着页面向下滚动而消失。还可以包含一个 .container 或 .container-fluid 容器,用于将导航条居中对齐并在两侧添加内补(padding)。

通过添加 .navbar-static-top 类即可创建一个与页面等宽度的导航条,它会随着页面向下滚动而消失。还可以包含一个 .container 或 .container-fluid 容器,用于将导航条居中对齐并在两侧添加内补(padding)。to center and pad navbar content.

<nav class="navbar navbar-default navbar-static-top">
 <div class="container">
 ...
 </div>
</nav>

 反色的导航条

通过添加 .navbar-inverse 类可以改变导航条的外观。

<nav class="navbar navbar-inverse">
 ...
</nav>

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript textContent与innerText的异同分析
Oct 22 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
JavaScript实现基于Cookie的存储类实例
Apr 10 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
ES6中Math对象的部分扩展
Feb 20 Javascript
Vue2.0组件间数据传递示例
Mar 07 Javascript
Bootstrap Table从零开始
Jun 30 Javascript
浅谈React Native 中组件的生命周期
Sep 08 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
Sep 10 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
Nov 02 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
jQuery学习笔记之入门
Dec 14 #Javascript
Bootstrap轮播图的使用和理解4
Dec 14 #Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 #Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 #Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 #Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 #Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 #Javascript
You might like
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
WINXP下apache+php4+mysql
2006/11/25 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
python requests证书问题解决
2019/09/05 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
护理专业的自荐信
2013/10/22 职场文书
优秀生推荐信范文
2013/11/28 职场文书
单位介绍信范文
2014/01/18 职场文书
秘书英文求职信
2014/04/16 职场文书
校运会口号
2014/06/18 职场文书
靠谱准确的求职信
2019/04/02 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android