响应式导航栏

默认的导航栏

创建一个默认的导航栏的步骤如下:
<nav>标签添加navbar、navbar-default类。
<nav>标签添加 role=”navigation”,有助于增加可访问性。
<div>元素添加一个标题 class=”navbar-header”,内部包含了带有navbar-brand类 的<a>元素。这会让文本看起来更大一号。
为了向导航栏添加链接,只需要简单地添加带有nav、navbar-nav类的无序列表即可。

代码如下:

<nav class="navbar navbar-default" role="navigation">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">Brand</a>
    </div>
    <div>
        <ul class="nav navbar-nav">
            <li><a href="#">首页</a></li>
            <li><a href="#">内容</a></li>
            <li><a href="#">关于</a></li>
        </ul>
    </div>
</nav>

在浏览器宽度超过768px时,效果如下所示。

默认的导航栏

把窗口缩小后到768px以下后,效果如下。

默认的导航栏

响应式导航栏

为了给导航栏添加响应式特性,我们要折叠的内容必须放在一个带有navbar-collapse、collapse类的<div>中。
折叠起来的导航栏实际上是一个带有navbar-toggle类和两个data-元素的按钮。第一个是data-toggle,用于告诉JavaScript需要对按钮做什么,第二个是data-target,指示要切换到哪一个元素。
三个带有icon-bar类的<span>创建所谓的汉堡按钮。这些会切换为.nav-collapse <div>中的元素。

代码如下:

<nav class="navbar navbar-default" role="navigation">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-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 class="navbar-brand" href="#">Brand</a>
    </div>
    <div class="navbar-collapse collapse" id="example-navbar-collapse">
        <ul class="nav navbar-nav">
            <li><a href="#">首页</a></li>
            <li><a href="#">内容</a></li>
            <li><a href="#">关于</a></li>
        </ul>
    </div>
</nav>

在浏览器窗口大于768px时,可以发现,与默认的没什么区别。

响应式导航栏

但是,当窗口缩小到768px以下后,可以看到,在页面的右上角出现了一个小图标,并且将内容折叠起来了。

响应式导航栏

点击图标就可以看到折叠的内容,如下所示。

响应式导航栏

在导航栏中加入下拉菜单

在上述代码的基础上,向需要下拉的内容的<li>中添加dropdown类,向其中加入一个无序列表,并在<ul>中添加class="dropdown-menu" role="menu"
<li>下的<a>中添加一个带有caret类的<span>,用来表示一个倒三角。
<a>中添加dropdown-toggle类,data-toggle和role。

下面只显示上述代码中修改的部分。

<div class="navbar-collapse collapse" id="example-navbar-collapse">
    <ul class="nav navbar-nav">
        <li><a href="#">首页</a></li>
        <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">内容<span class="caret"></span></a>
            <ul class="dropdown-menu" role="menu">
                <li><a href="#">内容1</a></li>
                <li><a href="#">内容2</a></li>
                <li><a href="#">内容3</a></li>
            </ul>
        </li>
        <li><a href="#">关于</a></li>
    </ul>
</div>

浏览器窗口大于768px时的效果如下。

加入下拉菜单的导航栏

点击下拉菜单

把窗口缩小到768px以下后,效果如下所示。

加入下拉菜单的导航栏

点击下拉菜单

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值