拥Bootstrap入怀——导航栏篇


Posted in Javascript onMay 30, 2016

写在前面
在该文中,我结合自己做的一个山水网页来聊一下Bootstrap的使用,网页截图如下:

拥Bootstrap入怀——导航栏篇

完整网页的效果和代码可以点击这里查看或者到CodePen上查看。网页要达到的主要效果包括以下几点:

1、导航栏的登陆、注册按钮点击后弹出登陆、注册modal框,并且登陆、注册窗口可切换,菜单栏为响应式

2、导航栏中的山水选项可下拉,点击下拉中的九寨沟``丽江``水帘洞会定位到相应的tab

3、幻灯片大屏轮播

4、tab页点击切换

下面我们开始拥Bootstrap入怀。

Bootstrap想必小伙伴们都听说过或使用过,在这个网页中,我用的是cdn Bootstrap v3.3.4,点击这里可以下载最新版本的Bootstrap v3.3.5或者点击这里自行到官网上下载,相信总有一款适合你~~~~~~

这篇文章让我们先聊一下导航栏。

导航栏
在使用bs之前首先要引用bs,包括css和js,引用的方式很简单,和引用普通外部文件相同,可以使用cdn链接,也可以放在本地引用。下面给出代码。

<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>myvin's山水</title>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">

<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
 <!--[if lt IE 9]>
 <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
 <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
 <![endif]-->
</head>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

在该山水网页例子中,我用的是cdn链接。

同时,因为bs的插件是基于jq的,所以jq也得引入。

先给出导航栏完整代码

<nav class="navbar navbar-default navbar-fixed-top navbar-inverse">
 <div class="container">
  <!-- Brand and toggle get grouped for better mobile display -->
  <div class="navbar-header">
  <button type="button" class="navbar-toggle collapsed" 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 class="navbar-brand" href="#">自己定义一个商标</a>
  </div>

  <!-- 左上角的导航 -->
  <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  <ul class="nav navbar-nav" >
  <li ><a href="#">主页<span class="sr-only">(current)</span></a></li>
  <li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">山水 <span class="caret"></span></a>
  <ul class="dropdown-menu" role="menu">
   <li><a href="#jiuzhaigou">九寨沟</a></li>
   <li><a href="#lijiang">丽江</a></li>
   <li><a href="#shuiliandong">水帘洞</a></li>
   <li class="divider"></li>
   <li><a href="#">更多..</a></li>
  </ul>
  </li>
  <li data-toggle="modal" data-target="#about"><a href="#" >关于</a></li>
  </ul>


  <form class="navbar-form navbar-right" role="search">
  <div class="form-group">
  <input type="text" class="form-control" placeholder="搜索景点..">
  <button type="button" class="btn btn-default">Go</button>
  </div>
  </form>


  <ul class="nav navbar-nav navbar-right">
  <li data-toggle="modal" data-target="#signin-signup-tab" id="signin-button"><a href="#" >登陆</a></li>
  <li data-toggle="modal" data-target="#signin-signup-tab" id="signup-button"><a href="#" >注册</a></li>
  </ul>
  </div>
 </div>
 </nav>

bs的导航组件都依赖同一个.nav类,代码分开讲解。先看这一段:

<button type="button" class="navbar-toggle collapsed" 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>

这段代码的作用是viewport减小时,导航栏上的菜单选项会折叠,点击折叠图标,导航栏菜单选项会纵向排列。nav中的.navbar-inverse类是反色,小伙伴们可以把.navbar-inverse类去掉观察下效果。因为我是一个黑色控,所以在这里我用反色。想用其他颜色的,土豪金啊,小伙伴们可以按照自己的口味自行搭配。.navbar-brand类可以用来定义自己网站的商标,我在这里以自己定义一个商标的文字代替,感兴趣的小伙伴可以添加自己的logo。.dropdown-toggle类可以实现一个下拉, .divider类可以实现一个浅深色的分割线。

搜索框和登陆、注册中的.navbar-right类顾名思义就是置右。

data属性
在这里有必要说一下bs的data属性。在bs中,开发者可以仅仅通过data属性来使用bs中的所有js插件,这是bs中的一等api,也经常是我们使用js插件的首选方式。比如上面代码中的data-toggle="collapse"data-toggle="dropdown"等,这些就是bs中的使用js插件的方式。

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

以上就是本文的全部内容,希望对大家学习Bootstrap导航栏有所帮助。

Javascript 相关文章推荐
jQuery 选择器理解
Mar 16 Javascript
IFrame跨域高度自适应实现代码
Aug 16 Javascript
JS取request值以及自动执行使用示例
Feb 24 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
JavaScript观察者模式(经典)
Dec 09 Javascript
微信小程序 欢迎界面开发的实例详解
Nov 30 Javascript
bootstrap是什么_动力节点Java学院整理
Jul 14 Javascript
使用vuex的state状态对象的5种方式
Apr 19 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
bootstrap table实现合并单元格效果
Dec 24 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
Apr 08 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 #Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
May 30 #Javascript
Bootstrap编写导航栏和登陆框
May 30 #Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
May 30 #Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 #Javascript
基于Bootstrap里面的Button dropdown打造自定义select
May 30 #Javascript
BootStrap下jQuery自动完成的样式调整
May 30 #Javascript
You might like
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
js获取地址栏参数的两种方法
2017/06/27 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
通过代码实例了解Python sys模块
2020/09/14 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
出纳的岗位职责
2013/11/09 职场文书
初中英语演讲稿
2014/04/29 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
大学运动会通讯稿
2015/07/18 职场文书
教师学习心得体会范文
2016/01/21 职场文书
python实现自定义日志的具体方法
2021/05/28 Python