Skip to main content
vd3
  • Home
  • Docs
  • Foundation
  • Color palette
  • Typography
  • Icons
  • Golden ratio
  • Grid system
  • Shadows & glow
  • Theme
  • Theme switcher
  • Theme customizer
  • Core
  • Button
  • Badge
  • Alert
  • Card
  • Dropdown
  • Menu
  • Popover
  • Doc Search
  • Floating Action Button
  • Ripple
  • Expanding Cards
  • Spotlight
  • Timeline
  • Template
  • Navigation
  • Feedback
  • Modal
  • Toast
  • Tooltip
  • Chip
  • Skeleton
  • Preloader
  • Data display
  • Avatar
  • Table
  • Collection
  • Breadcrumb
  • Interactive
  • Tabs
  • Accordion
  • Flow
  • Draggable
  • Search
  • Canvas
  • Charts
  • Flowchart
  • Hex Grid
  • Draw
  • Media
  • Music Player
  • Image Box
  • Editors
  • Code Editor
  • Effects
  • Glass
  • Morph
  • Parallax
  • Forms
  • Form controls
  • Form validation
  • Datepicker
  • Timepicker
  • Rating
  • Switch
  • Slider
  • Stepper
  • Autocomplete
  • Transfer
  • Tree
  • Pagination
  • Button group
  • Primitives
  • Progress
  • Spinner
  • Code snippet
  • Icon
  • Layout
  • Primitives
  • Separator
  • Sidenav
  • Sticky
  • Waypoint (Scrollspy)
  • Off-canvas
  • Navbar
  • Footer
Breadcrumbs

VdBreadcrumb renders an accessible breadcrumb trail from an items array (or a custom default slot). It is markup-only — built on breadcrumbs.css — with the current page marked by aria-current="page" and no anchor.

From an items array
  1. Home
  2. Components
  3. Breadcrumb
<!-- Rendered output of &lt;VdBreadcrumb :items="trail" /&gt; -->
<nav class="vd-breadcrumbs" aria-label="Breadcrumb">
  <ol class="vd-breadcrumb vd-breadcrumb-separator-slash">
    <li class="vd-breadcrumb-item">
      <a class="vd-breadcrumb-link" href="/">Home</a>
    </li>
    <li class="vd-breadcrumb-item">
      <a class="vd-breadcrumb-link" href="/components">Components</a>
    </li>
    <li class="vd-breadcrumb-item vd-breadcrumb-current" aria-current="page">
      Breadcrumb
    </li>
  </ol>
</nav>
Size Variants

Small

  1. Home
  2. Components
  3. Breadcrumb

Large

  1. Home
  2. Components
  3. Breadcrumb
Separators

separator="slash"

  1. Home
  2. Components
  3. Breadcrumb

separator="chevron"

  1. Home
  2. Components
  3. Breadcrumb

separator="arrow"

  1. Home
  2. Components
  3. Breadcrumb

separator="dot"

  1. Home
  2. Components
  3. Breadcrumb

separator="pipe"

  1. Home
  2. Components
  3. Breadcrumb
Custom slot (icons)
  1. Home
  2. Settings
  3. Profile
<VdBreadcrumb aria-label="Custom breadcrumb">
  <li class="vd-breadcrumb-item">
    <a class="vd-breadcrumb-link" href="/"><i class="ph ph-house"></i> Home</a>
  </li>
  <li class="vd-breadcrumb-item">
    <a class="vd-breadcrumb-link" href="/settings">Settings</a>
  </li>
  <li class="vd-breadcrumb-item vd-breadcrumb-current" aria-current="page">
    Profile
  </li>
</VdBreadcrumb>
API Reference

Usage

<script setup lang="ts">
import { VdBreadcrumb } from "@vanduo-oss/vd3";
import type { BreadcrumbItem } from "@vanduo-oss/vd3";

const trail: BreadcrumbItem[] = [
  { label: "Home", href: "/" },
  { label: "Components", href: "/components" },
  { label: "Breadcrumb" }, // last item = current page
];
</script>

<template>
  <VdBreadcrumb :items="trail" separator="chevron" />
</template>

CSS Classes

ClassDescription
.vd-breadcrumbsThe <nav> landmark wrapper (aria-label="Breadcrumb").
.vd-breadcrumbThe <ol> trail element.
.vd-breadcrumb-itemA single <li> entry in the trail.
.vd-breadcrumb-linkAnchor rendered for a non-current, linked item.
.vd-breadcrumb-currentCurrent item — paired with aria-current="page" and no anchor.
.vd-breadcrumb-separator-slash / -chevron / -arrow / -dot / -pipeSeparator glyph rendered between items (default: slash).
.vd-breadcrumb-sm / -lgCompact or spacious size variants.

Component API

Prop / slot / typeDescription
:itemsBreadcrumbItem[] — the trail. Each item is { label, href?, current? }.
:separator'slash' | 'chevron' | 'arrow' | 'dot' | 'pipe' — glyph between items (default 'slash').
:size'sm' | 'lg' — compact or spacious sizing.
:aria-labelAccessible label for the <nav> landmark (default 'Breadcrumb').
default slotSupply your own <li class="vd-breadcrumb-item"> markup instead of :items.
BreadcrumbItem (type export){ label: string; href?: string; current?: boolean }. The current item is the one with current: true, or — if none is set — the last item.
Accessibility
  • The trail is a <nav> landmark labelled Breadcrumb by default — override with :aria-label.
  • The current page renders without an anchor and carries aria-current="page" so assistive tech announces it as the current location.
  • Only linked, non-current items become <a> elements, keeping the trail keyboard-navigable without a dead final link.

vd3ui

Quick Links

  • Home
  • Docs
  • Changelog
  • About

Resources

  • GitHub
  • NPM
  • Kilo OSS
  • License

2026, Vanduo UI. MIT License.