面包屑导航(Breadcrumb)用于指示当前页面在导航层级中的位置,并通过 CSS 为各导航条目之间自动添加分隔符。
示例
通过使用带有链接列表项(<li>
元素)的有序(<ol>
元素)或无序列表(<ul>
元素)来创建一个具有最少样式的面包屑导航(breadcrumb)组件。使用我们提供的工具类可以根据需要添加其它样式。
<nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item active" aria-current="page">首页</li> </ol> </nav> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">首页</a></li> <li class="breadcrumb-item active" aria-current="page">用户管理</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" aria-current="page">用户列表</li> </ol> </nav>
改变分隔符
分隔符是通过 CSS 的 ::before 和 content 两个属性自动添加的。如果需要的话,可以通过修改本地的自定义 CSS 属性 --bs-breadcrumb-divider
或 Sass 变量 $breadcrumb-divider
(以及对应 RTL 的变量 $breadcrumb-divider-flipped
)对其进行修改。我们默认使用 Sass 变量,因为它是自定义属性的后备。这样操作后,你就拥有了一个新的全局分隔符,并且任何时候都无需重新编译 CSS。
<nav style="--bs-breadcrumb-divider: '>';" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">首页</a></li> <li class="breadcrumb-item active" aria-current="page">用户管理</li> </ol> </nav>
当通过 Sass 变量修改分隔符时,可以使用 Sass 中的 quote 函数(此函数用于生成字符串两侧的引号)。例如,使用 >
字符作为分隔符的话,你可以这样做:
$breadcrumb-divider: quote(">");
也可以使用 嵌入式 SVG 图标 作为分隔符。覆盖对应的自定义 CSS 属性或 Sass 变量即可。
<nav style="--bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E");" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">首页</a></li> <li class="breadcrumb-item active" aria-current="page">用户管理</li> </ol> </nav>
$breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='currentColor'/%3E%3C/svg%3E");
你还可以通过设置 --bs-breadcrumb-divider: '';
(为自定义 CSS 属性设置空字符串)或者 Sass 变量 $breadcrumb-divider: none;
来删除分隔符。
<nav style="--bs-breadcrumb-divider: '';" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">首页</a></li> <li class="breadcrumb-item active" aria-current="page">用户管理</li> </ol> </nav>
$breadcrumb-divider: none;
可访问性
由于面包屑导航(breadcrumb)组件提供了导航功能,因此,最好添加一个有意义的标签(例如 aria-label="breadcrumb"
)来描述 <nav>
元素中提供的导航的类型,并且为最后一个条目添加 aria-current="page"
以表示其代表的是当前页面。
有关更多信息,请参见 WAI-ARIA Authoring Practices for the breadcrumb pattern。