BooStrap对导航条的改造实践小结


Posted in Javascript onSeptember 21, 2016

制作导航(基础样式)需要如下几部:

第一步:首先在制作导航的列表(<ul class=”nav nav-tabs”> 当然nav-tabs是用来控制样式的我们可以选择比如nav-pills)

第二步:在列表里面添加自己的链接

<ul class="nav nav-tabs">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="about.html" data-hover="About"> About</a></li> 
<li><a href="news.html" data-hover="News">News</a></li>
<li><a href="portfolio.html" data-hover="Portfolio">Portfolio</a></li>
<li><a href="codes.html" data-hover="Codes">Codes</a></li> 
<li><a href="contact.html" data-hover="Contact">Contact</a></li>
</ul>

然后我们就可以看到类似下面的效果了:

BooStrap对导航条的改造实践小结

我们现在升级,制作一个基础导航条,主要分以下几步:

第一步:首先在制作导航的列表(<ul class=”nav”>)基础上添加类名“navbar-nav”,与前面不一样的是现在我们不在ul里添加nav-tabs或nav-pills之类的样式类了。

第二步:在列表外部添加一个容器(div),并且使用类名“navbar”和“navbar-default”

第三步:在列表里面添加自己的链接

<div class="navbar navbar-default" role="navigation">
<ul class="nav navbar-nav">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="about.html" data-hover="About"> About</a></li> 
<li><a href="news.html" data-hover="News">News</a></li>
<li><a href="portfolio.html" data-hover="Portfolio">Portfolio</a></li>
<li><a href="codes.html" data-hover="Codes">Codes</a></li> 
<li><a href="contact.html" data-hover="Contact">Contact</a></li>
</ul>
</div>

BooStrap对导航条的改造实践小结

现在再次升级,制作一个响应式导航条:

在上面的基础上添加一些内容,首先在最外围的div里加一个控制的块其组成如下:

<div class="navbar-header">
 <!-- .navbar-toggle样式用于toggle收缩的内容,即nav-collapse collapse样式所在元素 -->
<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>
<a href="##" class="navbar-brand">menu</a>
</div>

其中需要注意这个button是被一个div.navbar-header包裹,还有button里的data-target=".navbar-responsive-collapse"指被控制的导航的类名,当然如果使用id也可以,只要对应起来就可以。

控制的button已经弄好了,现在来搞定受控的导航内容部分。首先明确自己是被谁控制,显然,是被上面的那个button,所以其类名一定要吻合。那么我们直接在ul外面套上一层div,在此div上指定对应的类名,以及受控方式的类名collapse(指定是折叠的类)navbar-collapse(指定是导航条的折叠的类)。如此div的写法就是 <div class="collapse navbar-collapse navbar-responsive-collapse"> </div>,加上上面的ul内容就是这样:

<div class="collapse navbar-collapse navbar-responsive-collapse">
<ul class="nav navbar-nav">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="about.html" data-hover="About"> About</a></li> 
<li><a href="news.html" data-hover="News">News</a></li>
<li><a href="portfolio.html" data-hover="Portfolio">Portfolio</a></li>
<li><a href="codes.html" data-hover="Codes">Codes</a></li> 
<li><a href="contact.html" data-hover="Contact">Contact</a></li>
</ul>
</div>

总的就是这样:

<div class="navbar navbar-default" role="navigation">
<div class="navbar-header">
 <!-- .navbar-toggle样式用于toggle收缩的内容,即nav-collapse collapse样式所在元素 -->
<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>
<a href="##" class="navbar-brand">menu</a>
</div>
<div class="collapse navbar-collapse navbar-responsive-collapse">
<ul class="nav navbar-nav">
<li><a href="index.html" class="active">Home</a></li>
<li><a href="about.html" data-hover="About"> About</a></li> 
<li><a href="news.html" data-hover="News">News</a></li>
<li><a href="portfolio.html" data-hover="Portfolio">Portfolio</a></li>
<li><a href="codes.html" data-hover="Codes">Codes</a></li> 
<li><a href="contact.html" data-hover="Contact">Contact</a></li>
</ul>
</div>
</div>

结果在未为折叠尺寸时的效果如下:

BooStrap对导航条的改造实践小结

在变为折叠尺寸时的效果如下:

BooStrap对导航条的改造实践小结

上面是纯boostrap的效果,如果我们想要添加一些自己额外需要的样式怎么办呢?

下面我们先给这个响应式导航栏添加背景色试试:

由于是定义我们自己 的样式,所以我们尽量不要去干扰boostrap自己的东西,除非有冲突。所以我们先给导航栏外面加一个div给包围起来。如下:

<div class="bg-color"> 
</div>

css样式如下:

.bg-color{
background: #0C0;
}

只这样设置时发现没什么变化,后来想到应该是boostrap给导航栏添加了背景色而覆盖掉了最外层的背景色,后来我给此层div加了更高的高度后发现确实如此。
那么就直接给里面一层加背景色吧:

.bg-color div.navbar.navbar-default{
background: #0C0;
}

结果如下:

BooStrap对导航条的改造实践小结

BooStrap对导航条的改造实践小结

第一步已经成功,如果我们想给可折叠的状态改变一下样式,比如把文字居中显示怎么办?
由于boostrap使用媒体查询使得网页在一定尺寸时改变样式,那么我们现在是想在可折叠的状态时使文本居中,那么我们就以毒攻毒,也使用媒体查询的方式我们也可以简单粗暴的直接设置其居中(也就是没有下面的@media(max-width:768px)约束条件)。

.bg-color{
background: #0C0;
}
.bg-color div.navbar.navbar-default{
background: inherit;
}
@media(max-width:768px){
div.navbar.navbar-default{
text-align: center;
}
.navbar-header>.navbar-toggle{
float:none;
}
}

这是简单粗暴的方法(可以发现只是去掉了媒体查询的部分)

.bg-color{
background: #0C0;
}
.bg-color div.navbar.navbar-default{
background: inherit;
}
div.navbar.navbar-default{
text-align: center;
}
.navbar-header>.navbar-toggle{
float:none;
}

由于水平居中时那个menu标志有一点碍眼,所以我就把它去掉了:

<div class="navbar navbar-default" role="navigation">
<div class="navbar-header">
 <!-- .navbar-toggle样式用于toggle收缩的内容,即nav-collapse collapse样式所在元素 -->
<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><a href="index.html" class="active">Home</a></li>
<li><a href="about.html" data-hover="About"> About</a></li> 
<li><a href="news.html" data-hover="News">News</a></li>
<li><a href="portfolio.html" data-hover="Portfolio">Portfolio</a></li>
<li><a href="codes.html" data-hover="Codes">Codes</a></li> 
<li><a href="contact.html" data-hover="Contact">Contact</a></li>
</ul>
</div>
</div>

效果如下:

BooStrap对导航条的改造实践小结

BooStrap对导航条的改造实践小结

至此我们已经完成了导航栏的简单样式改造,如果需要更多,更丰富的样式,我们还可以继续改造。比如给导航栏的链接添加一些hover效果,或再给文本添加响应式样式(可以利用媒体查询实现诸如font-size,color,font-family等等效果的变化),甚至再添加一些动画效果,本节先告一段落,等待后续吧!

以上所述是小编给大家介绍的BooStrap对导航条的改造实践小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 事件查询综合
Jul 13 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
jquery中live()方法和bind()方法区别分析
Jun 23 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
js实现倒计时及时间对象
Nov 15 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
May 11 Javascript
为你的微信小程序体积瘦身详解
May 20 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 #Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
Sep 21 #Javascript
D3.js实现散点图和气泡图的方法详解
Sep 21 #Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 #Javascript
D3.js实现饼状图的方法详解
Sep 21 #Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 #Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 #Javascript
You might like
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
javascript 精粹笔记
2010/05/09 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
jQuery循环遍历子节点并获取值的方法
2016/04/14 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
Vue中props的详解
2019/05/16 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
Python函数返回值实例分析
2015/06/08 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
机电一体化自荐信
2013/12/10 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
宣传活动总结范文
2014/07/01 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
初婚初育证明范本
2014/11/24 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL