面包屑导航是一种辅助导航方式,能帮助用户了解当前所在位置,并提供快速返回上级页面的途径。同时,它也对搜索引擎优化(SEO)有积极作用。
Bootstrap 4 提供了简单易用的面包屑导航组件,使用 .breadcrumb 类和列表项创建。
<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"><a href="#">电子产品</a></li>
<li class="breadcrumb-item active" aria-current="page">智能手机</li>
</ol>
</nav>
<nav> 元素使用 aria-label 属性提供可访问性描述.breadcrumb 类应用于有序列表 <ol>.breadcrumb-item 类.active 类和 aria-current="page" 属性您可以通过CSS轻松定制面包屑导航的外观,包括分隔符、颜色和背景等。
.breadcrumb-icon .breadcrumb-item::before {
content: "\f105";
font-family: "Font Awesome 5 Free";
font-weight: 900;
color: #6c757d;
}
.breadcrumb-icon .breadcrumb-item:first-child::before {
display: none;
}
.breadcrumb-custom {
background-color: #e9ecef;
border-radius: 5px;
}
.breadcrumb-custom .breadcrumb-item.active {
color: #6f42c1;
font-weight: bold;
}
在移动设备上,面包屑导航可能需要特殊处理以适应小屏幕。
对于较长的面包屑路径,可以在小屏幕上折叠中间部分,只显示首尾项。
<!-- 桌面端面包屑 -->
<nav aria-label="breadcrumb" class="d-none d-md-block">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">首页</a></li>
<li class="breadcrumb-item"><a href="#">产品分类</a></li>
<li class="breadcrumb-item"><a href="#">电子产品</a></li>
<li class="breadcrumb-item"><a href="#">手机通讯</a></li>
<li class="breadcrumb-item active" aria-current="page">智能手机</li>
</ol>
</nav>
<!-- 移动端面包屑 -->
<nav aria-label="breadcrumb" class="d-md-none">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">首页</a></li>
<li class="breadcrumb-item dropdown">
<a class="dropdown-toggle" href="#" id="breadcrumbDropdown" role="button" data-toggle="dropdown" aria-expanded="false">
...
</a>
<div class="dropdown-menu" aria-labelledby="breadcrumbDropdown">
<a class="dropdown-item" href="#">产品分类</a>
<a class="dropdown-item" href="#">电子产品</a>
<a class="dropdown-item" href="#">手机通讯</a>
</div>
</li>
<li class="breadcrumb-item active" aria-current="page">智能手机</li>
</ol>
</nav>
在实际项目中,面包屑导航通常需要根据页面结构动态生成。
使用 JavaScript 根据当前页面URL或页面层级动态生成面包屑导航。
// 面包屑数据
const breadcrumbData = [
{ name: '首页', url: '/' },
{ name: '产品中心', url: '/products' },
{ name: '电子产品', url: '/products/electronics' },
{ name: '智能手机', url: '/products/electronics/smartphones' }
];
// 生成面包屑函数
function generateBreadcrumb(items) {
const breadcrumb = document.getElementById('dynamicBreadcrumb');
breadcrumb.innerHTML = '';
items.forEach((item, index) => {
const li = document.createElement('li');
li.className = 'breadcrumb-item';
if (index === items.length - 1) {
li.classList.add('active');
li.setAttribute('aria-current', 'page');
li.textContent = item.name;
} else {
const a = document.createElement('a');
a.href = item.url;
a.textContent = item.name;
li.appendChild(a);
}
breadcrumb.appendChild(li);
});
}
// 调用函数生成面包屑
generateBreadcrumb(breadcrumbData);
使用面包屑导航时,遵循以下最佳实践可以提升用户体验和SEO效果。