Bootstrap4 导航栏


Bootstrap4 导航栏

导航栏一般放在页面的顶部。

我们可以使用 .navbar 类来创建一个标准的导航栏,后面紧跟: .navbar-expand-xl|lg|md|sm 类来创建响应式的导航栏 (大屏幕水平铺开,小屏幕垂直堆叠)。

导航栏上的选项可以使用 <ul> 元素并添加 class=”navbar-nav” 类。 然后在 <li> 元素上添加 .nav-item 类, <a> 元素上使用 .nav-link 类:

<nav class="navbar navbar-expand-sm bg-info">
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#">Link 1</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 2</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 3</a>
        </li>
    </ul>
</nav>
<br>

<div class="container-fluid">
    <h3>简单的导航栏实例</h3>
    <p>导航栏一般放在页面的顶部。</p>
    <p>我们可以使用 .navbar 类来创建一个标准的导航栏,后面紧跟: .navbar-expand-xl|lg|md|sm 类来创建响应式的导航栏 (大屏幕水平铺开,小屏幕垂直堆叠)。</p>
</div>

垂直导航栏

通过删除 .navbar-expand-xl|lg|md|sm 类来创建垂直导航栏:

<nav class="navbar  bg-info">

不同颜色导航栏

可以使用以下类来创建不同颜色导航栏:**.bg-primary**, .bg-success, .bg-info, .bg-warning, .bg-danger, .bg-secondary, .bg-dark.bg-light)。

提示: 对于暗色背景需要设置文本颜色为浅色的,对于浅色背景需要设置文本颜色为深色的。

<div class="container">
    <h3>不同颜色导航栏</h3>
    <p>对于暗色背景需要设置文本颜色为浅色的,对于浅色背景需要设置文本颜色为深色的。</p>
</div>

<nav class="navbar navbar-expand-sm bg-light navbar-light">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>
<!--黑底白字-->
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>
<!--蓝底白字-->
<nav class="navbar navbar-expand-sm bg-primary navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

<nav class="navbar navbar-expand-sm bg-success navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

<nav class="navbar navbar-expand-sm bg-info navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

<nav class="navbar navbar-expand-sm bg-warning navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

<nav class="navbar navbar-expand-sm bg-danger navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

<nav class="navbar navbar-expand-sm bg-secondary navbar-dark">
    <ul class="navbar-nav">
        <li class="nav-item active">
            <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
        </li>
    </ul>
</nav>

激活和禁用状态: 可以在 <a> 元素上添加 .active 类来高亮显示选中的选项。 .disabled 类用于设置该链接是不可点击的。

.navbar-brand 类用于高亮显示品牌/Logo:

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
    <!-- Brand/logo -->
    <a class="navbar-brand" href="#">Logo</a>

    <!-- Links -->
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#">Link 1</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 2</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 3</a>
        </li>
    </ul>
</nav>

<div class="container-fluid">
    <h3>品牌/Logo</h3>
    <p>.navbar-brand 类用于高亮显示品牌/Logo:</p>
</div>

image-20200820123325142

如果使用图片,可以使用 .navbar-brand 类来设置图片自适应导航栏。

修改如下:

<a class="navbar-brand" href="#">
    <img src="https://static.runoob.com/images/mix/bird.jpg" alt="logo" style="width:40px;">
</a>

image-20200820123744556

折叠导航栏

通常,小屏幕上我们都会折叠导航栏,通过点击来显示导航选项。

要创建折叠导航栏,可以在按钮上添加 class=”navbar-toggler”, data-toggle=”collapse” 与 data-target=”#*thetarget*“ 类。然后在设置了 class=”collapse navbar-collapse” 类的 div 上包裹导航内容(链接), div 元素上的 id 匹配按钮 data-target 的上指定的 id:

<nav class="navbar navbar-expand-md bg-dark navbar-dark">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="collapsibleNavbar">
        <ul class="navbar-nav">
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
        </ul>
    </div>
</nav>
<br>

<div class="container">
    <h3>折叠导航栏</h3>
    <p>通常,小屏幕上我们都会折叠导航栏,通过点击来显示导航选项。</p>
    <p>提示: 如果你删除 .navbar-expand-md 类,导航链接会一直隐藏,且切换按钮会一直显示。</p>
</div>

image-20200820151317219

导航栏使用下拉菜单

导航栏上可以设置下拉菜单:

只用在需要设置下拉菜单的地方进行修改如下:

<li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown">dropdown menu</a>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">Link1</a>
        <a class="dropdown-item" href="#">Link2</a>
        <a class="dropdown-item" href="#">Link3</a>
        <a class="dropdown-item" href="#">Link4</a>
    </div>

</li>

导航栏的表单与按钮

导航栏的表单 <form> 元素使用 class=”form-inline” 类来排版输入框与按钮:

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
    <form class="form-inline">
        <label>
            <input class="form-control" type="text" placeholder="Search">
        </label>
        <button class="btn btn-success" type="button">Search</button>
    </form>
</nav>
<br>

<div class="container">
    <h3>导航栏的表单</h3>
    <p>导航栏的表单 form 元素使用 class="form-inline" 类来排版输入框与按钮:</p>
</div>

你也可以使用其他的输入框类,如 .input-group-addon 类用于在输入框前添加小标签。

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
    <form class="form-inline">
        <div class="input-group">
            <span class="input-group-addon text-light">@</span>
            <input class="form-control" type="text" placeholder="Search">
        </div>
        <button class="btn btn-success" type="submit">Search</button>
    </form>
</nav>

导航栏文本

使用 .navbar-text 类来设置导航栏上非链接文本,可以保证水平对齐,颜色与内边距一样。

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
    <!-- Links -->
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#">Link 1</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 2</a>
        </li>
    </ul>
    <!-- Navbar text-->
    <span class="navbar-text">
    Navbar text
  </span>
</nav>

固定导航栏

导航栏可以固定在头部或者底部。

我们使用 .fixed-top 类来实现导航栏的固定:

<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
    <!-- Links -->
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#">Link 1</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link 2</a>
        </li>
    </ul>
    <!-- Navbar text-->
    <span class="navbar-text">
    Navbar text
  </span>
</nav>
<br>

<div class="container" style="height: 2000px;margin-top: 50px">
    <h3>导航栏文本</h3>
    <p>使用 .navbar-text 类来设置导航栏上非链接文本,可以保证水平对齐,颜色与内边距一样。</p>
</div>

.fixed-bottom 类用于设置导航栏固定在底部:

<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-bottom">

文章作者: luwanglin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 luwanglin !
评论
  目录