bootstrap之导航栏

   之前一直在菜鸟教程上学bootstrap,貌似懂了,但又没懂,因为上面的教程不会告诉你每个类的作用,以及结构排版原因,更像是例子给你,照做就好,至于能理解多少就看你个人了,本人愚钝,遂去慕课上看视频,终于才懂了些。

响应式导航栏:

先放图:

电脑全部展开页面:

 

手机关闭页面:

 

手机展开页面:

 

<nav class="navbar navbar-default navbar-inverse">  //最外层
    <div class="container">                   //container 用于导航栏内容居中
        <div class="navbar-header">
            <button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>                             //汉堡按钮
            <p class="navbar-brand">文字logo</p>   //你的Logo,可以放图片
        </div>
        <div class="navbar-collapse collapse">    //结合折叠组件collapse使用
            <ul class="nav navbar-nav ">          //最常见内容,放普通文本链接
                <li><a href="#">普通文本链接1</a></li>
                <li><a href="#">普通文本链接1</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">   //下拉菜单,这里加了右对齐
                <li><a href="#">我右对齐了</a></li>
                <li><a href="#">我右对齐了</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                        我是下拉菜单 <b class="caret"></b>
                    </a>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header"><p>我是dropwodn-header</p></li>  //设置分类header
                        <li><a href="#">内容1</a></li>
                        <li><a href="#">内容2</a></li>
                        <li class="divider"></li>          //分隔线
                        <li><a href="#">我的上下是分割线</a></li>
                        <li class="divider"></li>
                        <li><a href="#">另一个分离的链接</a></li>
                    </ul>
                </li>
            </ul>
            <form action="#" class="navbar-form">   //放搜索框,一定要放在最后,不然会显示两行
                <div class="form-group">
                    <input type="text" class="form-control">
                </div>
                <button class="btn btn-success">search</button>
            </form>
        </div>
    </div>
</nav>

首先最外围:navbar翻译过来是导航栏,这没什么好说的,navbar-inverse ,这个类是把导航栏设为黑底白字,navbar-fixed-top是将导航栏固定在顶部(navbar-fixed-bottom固定在底部),这里有个问题,固定在顶部会将导航栏下面内容覆盖,解决办法,给body设置padding-top:70px即可。

第二层: class='container'   这里可以将container替换为container-fluid,区别在于container-fluid的内容会靠边显示,container的内容会居中显示。

整个导航栏分为两部分:

一.导航栏头部:

导航栏头部包含两部分:1.那三条横线组成的图标(又叫汉堡图标)

                                        2.你的商标,我这里放了个p标签,你可以放图片,记得里面添加.nvabar-brand

导航栏要实现展开收缩,得依赖collapse组件,所以你的class里面有collapse-toggle,翻译过来就是折叠切换按钮,html允许开发者自定义标签属性,且常以data开头,data-toggle意思是数据切换,具体干嘛的我也不知道,data-target用于指定data-toggle是为谁服务的,其值是选择器-id或者class。这里的值是.navbar-collapse ,意思是这个汉堡按钮点击后类是.navbar-collapse的元素div就会响应。

第二部分,导航栏的具体内容:

具体内容就比较丰富了:

1.直接放文本,ul里面放li即可,如果想把导航栏在右边,加个navbar-right 即可。

2.放搜索框,这里有必要说下,尽量把搜索框放在最后,不然导航栏可能会出现两行。

3.下拉列表框或者下拉按钮 ,直接放在li里面即可

以上有些内容可能有误,如果错误,忘指正。

刚才发现个问题:手机端菜单栏展开后点击空白地方菜单栏不会自动收缩,原生js可以通过监听点击动作实现收缩,但我相信bootstrap肯定封装了更简单的办法,今天太晚了,明天再看怎么回事。

点击链接自动关闭请参考:https://www.cnblogs.com/Wudj/p/9108649.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值