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 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
给网站上的广告“加速”显示的方法
Apr 08 Javascript
JS网络游戏-(模拟城市webgame)提供的一些例子下载
Oct 14 Javascript
struts2+jquery组合验证注册用户是否存在
Apr 30 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
May 12 Javascript
在ABP框架中使用BootstrapTable组件的方法
Jul 31 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
Dec 29 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
编译问题
2006/10/09 PHP
php执行sql语句的写法
2009/03/10 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
北京华建集团SQL面试题
2014/06/03 面试题
餐厅周年庆活动方案
2014/08/25 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
工程质量保证书
2015/05/09 职场文书
python playwright之元素定位示例详解
2022/07/23 Python