Bootstrap 导航栏

Posted QXXXD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bootstrap 导航栏相关的知识,希望对你有一定的参考价值。

导航栏

  • 导航栏是一个很好的功能,是 Bootstrap 网站的一个突出特点。
  • 导航栏在应用或网站中作为导航页头的响应式基础组件。
  • 导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开。
  • 在 Bootstrap 导航栏的核心中,导航栏包括了站点名称和基本的导航定义样式。

默认导航栏

创建一个默认的导航栏:

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

示例

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">导航栏</a>
    </div>
    <div>
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">ios</a></li>
	    <li><a href="#">android</a></li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">前端
                    <b class="caret"></b>
                </a>
                <ul class="dropdown-menu">
                    <li><a href="#">html</a></li>
                    <li><a href="#">CSS</a></li>
                    <li><a href="#">javascript</a></li>
                    <li class="divider"></li>
                    <li><a href="#">分离的链接</a></li>
                    <li class="divider"></li>
                    <li><a href="#">另一个分离的链接</a></li>
                </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

响应式的导航栏

为了给导航栏添加响应式特性,要折叠的内容必须包裹在带有 class .collapse.navbar-collapse<div> 中。折叠起来的导航栏实际上是一个带有 class .navbar-toggle 及两个 data- 元素的按钮。

第一个是 data-toggle,用于告诉 JavaScript 需要对按钮做什么;第二个是 data-target,指示要切换到哪一个元素。三个带有 class .icon-bar<span> 创建所谓的汉堡按钮。这些会切换为 .nav-collapse <div> 中的元素。

示例

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid"> 
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse"
            data-target="#example-navbar-collapse">
            <span class="sr-only">切换导航</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="example-navbar-collapse">
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">iOS</a></li>
            <li><a href="#">Android</a></li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                    前端 <b class="caret"></b>
                </a>
                <ul class="dropdown-menu">
                    <li><a href="#">HTML</a></li>
                    <li><a href="#">CSS</a></li>
                    <li><a href="#">JavaScript</a></li>
                    <li class="divider"></li>
                    <li><a href="#">分离的链接</a></li>
                    <li class="divider"></li>
                    <li><a href="#">另一个分离的链接</a></li>
                </ul>
            </li>
        </ul>
    </div>
    </div>
</nav>

导航栏中的表单

导航栏中的表单是使用 .navbar-form class。这确保了表单适当的垂直对齐和在较窄的视口中折叠的行为。

示例

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid"> 
    <div class="navbar-header">
        <a class="navbar-brand" href="#">导航栏</a>
    </div>
    <form class="navbar-form navbar-left" role="search">
        <div class="form-group">
            <input type="text" class="form-control" placeholder="Search">
        </div>
        <button type="submit" class="btn btn-default">提交</button>
    </form>
    </div>
</nav>

导航栏中的按钮

可以使用 class .navbar-btn 向不在 <form> 中的 <button> 元素添加按钮,按钮在导航栏上垂直居中。.navbar-btn 可被使用在 <a><input> 元素上。

注意:不要在 .navbar-nav 内的 <a> 元素上使用 .navbar-btn,因为它不是标准的 button class。

示例

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">导航栏</a>
    </div>
    <div>
        <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">提交按钮</button>
        </form>
        <button type="button" class="btn btn-default navbar-btn">
            导航栏按钮
        </button>
    </div>
    </div>
</nav>

导航栏中的文本

如果需要在导航中包含文本字符串,请使用 class .navbar-text。这通常与 <p> 标签一起使用,确保适当的前导和颜色。

示例

<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">导航栏</a>
    </div>
    <div>
        <p class="navbar-text">Runoob 用户登录</p>
    </div>
    </div>
</nav>

反色的导航栏

创建一个带有黑色背景白色文本的反色的导航栏,只需要简单地向 .navbar class 添加 .navbar-inverse class 即可。

注意:为了防止导航栏与页面主体中的其他内容的顶部相交错,请向 <body> 标签添加至少 50 像素的内边距(padding),内边距的值可以根据需要进行设置。

示例

<nav class="navbar navbar-inverse" role="navigation">
    <div class="container-fluid">
    <div class="navbar-header">
        <a class="navbar-brand" href="#">导航栏</a>
    </div>
    <div>
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">iOS</a></li>
            <li><a href="#">Android</a></li>
            <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                    前端 <b class="caret"></b>
                </a>
                <ul class="dropdown-menu">
                    <li><a href="#">HTML</a></li>
                    <li><a href="#">CSS</a></li>
                    <li><a href="#">JavaScript</a></li>
                    <li class="divider"></li>
                    <li><a href="#">分离的链接</a></li>
                    <li class="divider"></li>
                    <li><a href="#">另一个分离的链接</a></li>
                </ul>
            </li>
        </ul>
    </div>
    </div>
</nav>

以上是关于Bootstrap 导航栏的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap - 具有相同结构的导航栏和页脚

使用底部导航栏防止片段刷新

Bootstrap 4 导航栏颜色

BootStrap实用代码片段(持续总结)

导航栏固定在左侧 - Bootstrap

Bootstrap 导航栏中的中心菜单项