📅  最后修改于: 2023-12-03 15:38:10.432000             🧑  作者: Mango
面包屑导航是网站导航的一种形式,它为用户提供了在网站中的位置及浏览路径。以下是创建面包屑导航的几种方法。
我们可以利用 HTML + CSS 来手动创建面包屑导航。首先,在页面的合适位置创建一个容器:
<!-- 面包屑导航容器 -->
<div class="breadcrumb"></div>
然后,利用 CSS 来设置容器样式,并添加链接和分隔符:
.breadcrumb {
font-size: 14px;
margin-top: 10px;
padding: 10px;
background-color: #f5f5f5;
border: 1px solid #ccc;
}
.breadcrumb a {
text-decoration: none;
color: #337ab7;
}
.breadcrumb span {
margin: 0 5px;
color: #ccc;
}
最后,在 JavaScript 中动态生成面包屑导航:
// 获取面包屑导航容器
const breadcrumb = document.querySelector('.breadcrumb');
// 动态生成面包屑导航
const crumbs = [
{
name: '首页',
url: '/'
},
{
name: '产品分类',
url: '/category'
},
{
name: '手机',
url: '/category/phone'
},
{
name: 'iPhone 11',
url: '/product/12345'
}
];
let html = '';
for (let i = 0; i < crumbs.length; i++) {
const crumb = crumbs[i];
if (i === crumbs.length - 1) {
// 最后一项,不需要链接
html += '<span>' + crumb.name + '</span>';
} else {
html += '<a href="' + crumb.url + '">' + crumb.name + '</a><span>></span>';
}
}
breadcrumb.innerHTML = html;
除了手动创建外,我们也可以使用第三方库来创建面包屑导航,例如 breadcrumbs.js:
首先,引入库文件:
<!-- 引入库文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/breadcrumbs-js/dist/breadcrumbs.css">
<script src="https://cdn.jsdelivr.net/npm/breadcrumbs-js/dist/breadcrumbs.min.js"></script>
然后,创建面包屑导航:
<!-- 面包屑导航容器 -->
<div class="breadcrumb"></div>
// 创建面包屑导航
const crumbs = [
{
label: '首页',
url: '/'
},
{
label: '产品分类',
url: '/category'
},
{
label: '手机',
url: '/category/phone'
},
{
label: 'iPhone 11',
url: '/product/12345'
}
];
// 初始化面包屑导航
const breadcrumb = new Breadcrumbs('.breadcrumb', crumbs);
如果网站使用了 React 技术栈,我们可以使用 React 组件来创建面包屑导航。
首先,创建面包屑导航组件:
import React from 'react';
function Breadcrumb(props) {
return (
<nav aria-label="breadcrumb">
<ol className="breadcrumb">
{
props.items.map((item, index) => {
let text = item.text;
if (item.url) {
text = <a href={item.url}>{text}</a>;
}
return (
<li className={'breadcrumb-item' + (index === props.items.length - 1 ? ' active' : '')} key={index}>{text}</li>
);
})
}
</ol>
</nav>
);
}
export default Breadcrumb;
然后,在页面中使用组件:
import React from 'react';
import ReactDOM from 'react-dom';
import Breadcrumb from './Breadcrumb';
// 定义面包屑导航数据
const items = [
{text: '首页', url: '/'},
{text: '产品分类', url: '/category'},
{text: '手机', url: '/category/phone'},
{text: 'iPhone 11'}
];
// 渲染面包屑导航组件
ReactDOM.render(
<Breadcrumb items={items} />,
document.getElementById('breadcrumb')
);
以上是三种创建面包屑导航的方法,您可以根据网站的具体情况选择适合的方式来实现。