利用Bootstrap的面包屑组件实现面包屑层次分级导航效果

目录

01-相关基础知识

可以用类breadcrumb实现面包屑层次导航效果。

当使用 Bootstrap 构建网页时,breadcrumb 类用于创建面包屑导航(breadcrumb navigation),这是一种可视化导航元素,通常用于指示用户当前页面在网站层次结构中的位置。面包屑导航以层次结构形式显示,通常采用类似 "Home > Products > Category > Item" 的格式,使用户能够轻松了解他们所在的位置并返回到更高级别的页面。

以下是 Bootstrap 中 breadcrumb 类的使用示例和一些常见属性:

  1. 创建一个基本的面包屑导航:
html 复制代码
<nav aria-label="breadcrumb">
  <ol class="breadcrumb">
    <li class="breadcrumb-item"><a href="#">Home</a></li>
    <li class="breadcrumb-item"><a href="#">Products</a></li>
    <li class="breadcrumb-item active" aria-current="page">Category</li>
  </ol>
</nav>
  • 使用<nav>元素创建包含面包屑导航的容器。
  • 使用.breadcrumb类来定义面包屑导航列表。
  • 使用.breadcrumb-item类来定义每个导航项。
  • 使用.active类来表示当前页面的导航项。
  • 使用aria-current="page"属性来指示当前页面。
  1. 添加自定义分隔符:
html 复制代码
<nav aria-label="breadcrumb">
  <ol class="breadcrumb">
    <li class="breadcrumb-item"><a href="#">Home</a></li>
    <li class="breadcrumb-item"><a href="#">Products</a></li>
    <li class="breadcrumb-item"><a href="#">Category</a></li>
    <li class="breadcrumb-item active" aria-current="page">Item</li>
  </ol>
</nav>

你可以根据需要自定义面包屑导航的样式,包括颜色、字体大小等。这可以通过在导航元素上应用 Bootstrap 的样式类来完成,以满足你的设计需求。

通过使用 Bootstrap 的 breadcrumb 类,你可以轻松创建漂亮的面包屑导航,以提高用户体验并帮助他们更好地浏览网站的内容。

02-一个简单的示例

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>面包屑分级导航效果</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
</head>
<body class="container">
<h2 align="center">面包屑分级导航效果</h2>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item active">首页</li>
    </ol>
</nav>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><a href="#">首页</a></li>
        <li class="breadcrumb-item active">热门课程</li>
    </ol>
</nav>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><a href="#">首页</a></li>
        <li class="breadcrumb-item"><a href="#">热门课程</a></li>
        <li class="breadcrumb-item active">网络安全训练营</li>
    </ol>
</nav>
</body>
</html>

运行效果如下:

03-改变面包悄中的层级分隔符

在上面的示例效果中,各层级的分隔符是" / ":

我们可以重写相关的类来改变这个分隔符,以下是一个示例代码:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>设计分隔符</title>
    <meta name="viewport" content="width=device-width,initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="bootstrap-4.5.3-dist/css/bootstrap.css">
    <script src="jquery-3.5.1.slim.js"></script>
    <script src="bootstrap-4.5.3-dist/js/bootstrap.min.js"></script>
<style>
.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    color: #6c757d;
    content: ">";
}
</style>
</head>
<body class="container">
<h2 align="center">设计面包屑的分隔符</h2>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item active">首页</li>
    </ol>
</nav>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><a href="#">首页</a></li>
        <li class="breadcrumb-item active">热门课程</li>
    </ol>
</nav>
<nav aria-label="breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><a href="#">首页</a></li>
        <li class="breadcrumb-item"><a href="#">热门课程</a></li>
        <li class="breadcrumb-item active">网络安全训练营</li>
    </ol>
</nav>
</body>
</html>

运行效果如下:

相关推荐
当时只道寻常20 分钟前
Vue3 + IntersectionObserver 实现高性能图片懒加载
前端
sakiko_36 分钟前
UIKit学习笔记3-布局、滚动视图、隐藏或显示视图
前端·笔记·学习·objective-c·swift·uikit
有一个好名字1 小时前
Agent Loop —— 一切从那个 while 循环开始
前端·javascript·chrome
一天睡25小时1 小时前
Claude Code 指令入门教程
前端
yingyima2 小时前
正则表达式实战:从日志中精准提取关键字段
前端
TeamDev2 小时前
如何在 DotNetBrowser 中使用本地 AI 模型
前端·后端·.net
谢尔登2 小时前
10_从 React Hooks 本质看 useState
前端·ubuntu·react.js
辰同学ovo2 小时前
从全局登录状态管理学习 Redux
前端·javascript·学习·react.js
陈随易3 小时前
2年没用Nodejs了,Bun很香
前端·后端·程序员
donecoding3 小时前
Corepack 完全解析:从懵到懂,包管理器自由了
前端·node.js·前端工程化