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 select下拉框操作的一些说明
Apr 02 Javascript
jQuery对表单元素的取值和赋值操作代码
May 19 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
Aug 28 Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
Sep 09 Javascript
JS中input表单隐藏域及其使用方法
Feb 13 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
Apr 25 Javascript
微信小程序“摇一摇”的实例代码
Jul 20 Javascript
深入理解vue中slot与slot-scope的具体使用
Jan 26 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 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的十大要点(上)
2009/02/04 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
园林设计师自荐信
2013/11/18 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
新年祝酒词大全
2015/08/11 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android