您所在的位置:小祥子 » 编程 » CSS » 正文

拥Bootstrap入怀—导航栏篇

时间:2015-08-07 编辑:myvin 来源:CnBlogs

上一篇:《JavaScript“并非”一切皆对象》

写在前面的前面

如标题所示,写在前面的前面,所以这些必然是一些废话,欲直接看有些营养的,可以点击这个锚点直接跳过这些废话。

猛然一看,发现自己已经两个星期都没有更新博客了。我只是去出差去出差去出差去出差了,一直出差到现在,还在出差。

出差不可怕,可怕的是我竟然食物中毒了。来,笑一个~.~

依然清晰地记得那晚,外面的空气依然夹杂着些许温热,天上还是看不见星星,屋里的空调还乐此不疲地吹着,晚饭过后的我蹲在坐便上拿着手机和基友聊天扯淡吹牛逼,“我拉肚子呢正”巴拉巴拉,意想不到的是完事出厕所后就开始坐在地上狂吐,吐的天昏地暗,吐的海枯石烂,伴随我的还有根本停不下来的肚疼,而我第二天的大部分青春也都献给了坐便。

经过这次食物中毒,我领悟到了一个很多人都懂但是却都已忽略的问题,那就是:

拉shi千万不要吹牛逼

牛逼吹大了会死人的

PS:我坐在宾馆洁白无瑕却不知已经被多少人的鲜血染红了N遍的床单上敲下了上面的和下面的文字当然也包括这一行文字。

不管小伙伴是不是跳过废话到这儿的,既然来了就往下看吧。

写在前面

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

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

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

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

  3. 幻灯片大屏轮播

  4. tab页点击切换

下面我们开始拥Bootstrap入怀,咸猪手开动。

Bootstrap想必小伙伴们都听说过或使用过,关于Bootstrap的前世今生便不在这里介绍了,有兴趣了解的小伙伴可以点击这里查看百科或者点击这里到Bootstrap官网上查看。在这个网页中,我用的是cdn Bootstrap v3.3.4,点击这里可以下载最新版本的Bootstrap v3.3.5或者点击这里自行到官网上下载,相信总有一款适合你~~~~~~

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

导航栏

在使用bs之前首先要引用bs,包括CSSJS,引用的方式很简单,和引用普通外部文件相同,可以使用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插件的方式。

小了个结

没啥可结的,我们下回接着聊幻灯片大屏轮播。

对了,叮嘱一句,夏天吃东西千万要注意,尤其是街边摊的肉食尽量少吃,要吃的话也要找干净的。

最后祝每个小伙伴夏天都不拉稀~~~

作者:myvin
原文出处:http://www.cnblogs.com/myvin/p/4709491.html
转载请记得说明作者和出处哦-.-

上一篇:《JavaScript“并非”一切皆对象》

关键词:导航栏