Skip to content
通用组件

面包屑Breadcrumb

当前页在层级里的位置。分隔是 CSS 画的斜角,最后一项是当前页(加粗、aria-current)。

Vue
实验import { AkBreadcrumb, AkBreadcrumbItem } from "@mooncellwiki/prts-design-vue"Storybook ↗源码 ↗

当前页在层级里的位置:首页 › 干员一览 › 陈。上级是链接(悬停变主色),最后一项是当前页——正文色、加粗、aria-current="page"。分隔符是 CSS 画的斜角(li + li::before),不是字符,也不能换。

基本 ​

写法同 Naive UI 的 n-breadcrumb:AkBreadcrumb 里放若干 AkBreadcrumbItem,有 href 的渲染成链接。没有哪一项写 current 时,最后一项自动当作当前页;当前页也要是链接时给它写 href,aria-current 会落在链接上。要用路由链接时把 RouterLink 整个写进默认插槽、不写 href。

可访问性 ​

  • 输出 <nav aria-label="面包屑"> 地标 + 有序列表 <ol>(同 WAI-ARIA Breadcrumb);一页有两条面包屑时用 label 区分。
  • 斜角分隔符是伪元素,读屏不念。

Vue API ​

AkBreadcrumb ​

属性类型默认说明
labelstring"面包屑"导航地标的可访问名(nav 的 aria-label)
插槽说明
default若干 AkBreadcrumbItem,从上级到当前页

AkBreadcrumbItem ​

属性类型默认说明
hrefstring—链接地址;不写就是纯文字(当前页一般不写)
currentbooleanfalse当前页:aria-current="page" + 加粗。一项都没写时 AkBreadcrumb 自动把最后一项当作当前页
插槽说明
default文字;要用路由链接(RouterLink)时整个写在这里、不写 href

CSS 实现 ​

模板直接输出列表即可。放在正文(.mw-parser-output)里时外层要标 ak-not-prose,否则正文的列表缩进会进来(Vue 版已标在 <nav> 上)。

块元素 __修饰 --

文本 CC BY-NC-SA 4.0 · 游戏素材版权归鹰角网络所有