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 相关文章推荐
一个JQuery写的点击上下滚动的小例子
Aug 27 Javascript
js语法学习之判断一个对象是否为数组
May 13 Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 Javascript
js时间戳与日期格式之间相互转换
Dec 11 Javascript
vue按需加载实例详解
Sep 06 Javascript
微信小程序开发摇一摇功能
Nov 22 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 Javascript
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
three.js 将图片马赛克化的示例代码
Jul 31 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
一些常用的php函数
2006/12/06 PHP
mysql+php分页类(已测)
2008/03/31 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
js实现微信聊天效果
2020/08/09 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
判断网页编码的方法python版
2016/08/12 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
python制作抖音代码舞
2019/04/07 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python下载的11种姿势(小结)
2020/11/18 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
2014年情人节活动方案
2014/02/16 职场文书
健康家庭事迹材料
2014/05/02 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
学校2014年度工作总结
2014/12/06 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
创业计划书之废品回收
2019/09/26 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书