Breadcrumb
µBreadcrumb is a navigation trail component, part of the µCSS framework. It provides multiple separator styles, a boxed variant, and proper ARIA semantics for accessible navigation.
Basic usage
Use a <nav> with aria-label="Breadcrumb" wrapping a <ul class="breadcrumb">. The last item represents the current page:
<nav aria-label="Breadcrumb">
<ul class="breadcrumb">
<li><a href="#">Home</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Category</a></li>
<li aria-current="page">Current Page</li>
</ul>
</nav>
The default separator between items is /.
Separator styles
Three alternative separator styles are available by adding a modifier class to the <ul>:
Arrow separator
<nav aria-label="Breadcrumb">
<ul class="breadcrumb breadcrumb-arrow">
<li><a href="#">Home</a></li>
<li><a href="#">Library</a></li>
<li aria-current="page">Article</li>
</ul>
</nav>
Dot separator
<nav aria-label="Breadcrumb">
<ul class="breadcrumb breadcrumb-dot">
<li><a href="#">Home</a></li>
<li><a href="#">Settings</a></li>
<li aria-current="page">Profile</li>
</ul>
</nav>
Chevron separator
<nav aria-label="Breadcrumb">
<ul class="breadcrumb breadcrumb-chevron">
<li><a href="#">Home</a></li>
<li><a href="#">Dashboard</a></li>
<li><a href="#">Reports</a></li>
<li aria-current="page">Monthly</li>
</ul>
</nav>
| Class | Separator character |
|---|---|
| (default) | / |
.breadcrumb-arrow |
> (single right-pointing angle) |
.breadcrumb-dot |
* (middle dot) |
.breadcrumb-chevron |
>> (double right-pointing angle) |
Boxed variant
Add .breadcrumb-boxed for a background container with padding and rounded corners:
<nav aria-label="Breadcrumb">
<ul class="breadcrumb breadcrumb-boxed">
<li><a href="#">Home</a></li>
<li><a href="#">Account</a></li>
<li aria-current="page">Settings</li>
</ul>
</nav>
The boxed variant can be combined with any separator style:
<nav aria-label="Breadcrumb">
<ul class="breadcrumb breadcrumb-boxed breadcrumb-arrow">
<li><a href="#">Home</a></li>
<li><a href="#">Projects</a></li>
<li aria-current="page">µCSS</li>
</ul>
</nav>
CSS classes reference
| Class | Description |
|---|---|
.breadcrumb |
Base breadcrumb list (flex, no list-style, font-size 0.875rem) |
.breadcrumb-arrow |
Uses > as separator |
.breadcrumb-dot |
Uses * as separator |
.breadcrumb-chevron |
Uses >> as separator |
.breadcrumb-boxed |
Adds background, padding, and border-radius |
Styling details
| Property | Value |
|---|---|
| Font size | 0.875rem |
| Separator margin | 0 0.5rem |
| Separator color | var(--mu-secondary) at 60% opacity |
| Link color | var(--mu-primary) |
| Link hover | var(--mu-primary-hover) with underline |
| Current page color | var(--mu-secondary) |
| Boxed padding | 0.5rem 1rem |
| Boxed background | var(--mu-secondary-background) |
| Boxed border radius | 0.375rem |
Accessibility
- Wrap the breadcrumb in a
<nav>element witharia-label="Breadcrumb". - Mark the current page item with
aria-current="page"(no<a>tag needed). - The last item and items with
aria-currentare automatically styled in the secondary color to indicate the active page.