Breadcrumb
<ol-breadcrumb> | OlBreadcrumb
Breadcrumbs provide a group of links so users can easily navigate a website’s hierarchy.
Breadcrumbs are usually placed before a page’s main content with the current page shown last to indicate the user’s position in the navigation.
<ol-breadcrumb> <ol-breadcrumb-item>Catalog</ol-breadcrumb-item> <ol-breadcrumb-item>Clothing</ol-breadcrumb-item> <ol-breadcrumb-item>Women's</ol-breadcrumb-item> <ol-breadcrumb-item>Shirts & Tops</ol-breadcrumb-item> </ol-breadcrumb>
import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb'; import OlBreadcrumbItem from '@onlive.site/ui/dist/react/breadcrumb-item'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem>Catalog</OlBreadcrumbItem> <OlBreadcrumbItem>Clothing</OlBreadcrumbItem> <OlBreadcrumbItem>Women's</OlBreadcrumbItem> <OlBreadcrumbItem>Shirts & Tops</OlBreadcrumbItem> </OlBreadcrumb> );
Examples
Breadcrumb Links
By default, breadcrumb items are rendered as buttons so you can use them to navigate single-page applications. In this case, you’ll need to add event listeners to handle clicks.
For websites, you’ll probably want to use links instead. You can make any breadcrumb item a link by applying
an href
attribute to it. Now, when the user activates it, they’ll be taken to the corresponding
page — no event listeners required.
<ol-breadcrumb> <ol-breadcrumb-item href="https://example.com/home">Homepage</ol-breadcrumb-item> <ol-breadcrumb-item href="https://example.com/home/services">Our Services</ol-breadcrumb-item> <ol-breadcrumb-item href="https://example.com/home/services/digital">Digital Media</ol-breadcrumb-item> <ol-breadcrumb-item href="https://example.com/home/services/digital/web-design">Web Design</ol-breadcrumb-item> </ol-breadcrumb>
import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb'; import OlBreadcrumbItem from '@onlive.site/ui/dist/react/breadcrumb-item'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem href="https://example.com/home">Homepage</OlBreadcrumbItem> <OlBreadcrumbItem href="https://example.com/home/services">Our Services</OlBreadcrumbItem> <OlBreadcrumbItem href="https://example.com/home/services/digital">Digital Media</OlBreadcrumbItem> <OlBreadcrumbItem href="https://example.com/home/services/digital/web-design">Web Design</OlBreadcrumbItem> </OlBreadcrumb> );
Custom Separators
Use the separator
slot to change the separator that goes between breadcrumb items. Icons work
well, but you can also use text or an image.
<ol-breadcrumb> <ol-icon name="dot" slot="separator"></ol-icon> <ol-breadcrumb-item>First</ol-breadcrumb-item> <ol-breadcrumb-item>Second</ol-breadcrumb-item> <ol-breadcrumb-item>Third</ol-breadcrumb-item> </ol-breadcrumb> <br /> <ol-breadcrumb> <ol-icon name="arrow-right" slot="separator"></ol-icon> <ol-breadcrumb-item>First</ol-breadcrumb-item> <ol-breadcrumb-item>Second</ol-breadcrumb-item> <ol-breadcrumb-item>Third</ol-breadcrumb-item> </ol-breadcrumb> <br /> <ol-breadcrumb> <span slot="separator">/</span> <ol-breadcrumb-item>First</ol-breadcrumb-item> <ol-breadcrumb-item>Second</ol-breadcrumb-item> <ol-breadcrumb-item>Third</ol-breadcrumb-item> </ol-breadcrumb>
import '@onlive.site/ui/dist/components/icon/icon.js'; import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb'; import OlBreadcrumbItem from '@onlive.site/ui/dist/react/breadcrumb-item'; const App = () => ( <> <OlBreadcrumb> <ol-icon name="dot" slot="separator" /> <OlBreadcrumbItem>First</OlBreadcrumbItem> <OlBreadcrumbItem>Second</OlBreadcrumbItem> <OlBreadcrumbItem>Third</OlBreadcrumbItem> </OlBreadcrumb> <br /> <OlBreadcrumb> <ol-icon name="arrow-right" slot="separator" /> <OlBreadcrumbItem>First</OlBreadcrumbItem> <OlBreadcrumbItem>Second</OlBreadcrumbItem> <OlBreadcrumbItem>Third</OlBreadcrumbItem> </OlBreadcrumb> <br /> <OlBreadcrumb> <span slot="separator">/</span> <OlBreadcrumbItem>First</OlBreadcrumbItem> <OlBreadcrumbItem>Second</OlBreadcrumbItem> <OlBreadcrumbItem>Third</OlBreadcrumbItem> </OlBreadcrumb> </> );
Prefixes
Use the prefix
slot to add content before any breadcrumb item.
<ol-breadcrumb> <ol-breadcrumb-item> <ol-icon slot="prefix" name="house"></ol-icon> Home </ol-breadcrumb-item> <ol-breadcrumb-item>Articles</ol-breadcrumb-item> <ol-breadcrumb-item>Traveling</ol-breadcrumb-item> </ol-breadcrumb>
import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb'; import OlBreadcrumbItem from '@onlive.site/ui/dist/react/breadcrumb-item'; import OlIcon from '@onlive.site/ui/dist/react/icon'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem> <OlIcon slot="prefix" name="house" /> Home </OlBreadcrumbItem> <OlBreadcrumbItem>Articles</OlBreadcrumbItem> <OlBreadcrumbItem>Traveling</OlBreadcrumbItem> </OlBreadcrumb> );
Suffixes
Use the suffix
slot to add content after any breadcrumb item.
<ol-breadcrumb> <ol-breadcrumb-item>Documents</ol-breadcrumb-item> <ol-breadcrumb-item>Policies</ol-breadcrumb-item> <ol-breadcrumb-item> Security <ol-icon slot="suffix" name="shield-lock"></ol-icon> </ol-breadcrumb-item> </ol-breadcrumb>
import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb'; import OlBreadcrumbItem from '@onlive.site/ui/dist/react/breadcrumb-item'; import OlIcon from '@onlive.site/ui/dist/react/icon'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem>Documents</OlBreadcrumbItem> <OlBreadcrumbItem>Policies</OlBreadcrumbItem> <OlBreadcrumbItem> Security <OlIcon slot="suffix" name="shield-lock"></OlIcon> </OlBreadcrumbItem> </OlBreadcrumb> );
With Dropdowns
Dropdown menus can be placed in the default slot to provide additional options.
<ol-breadcrumb> <ol-breadcrumb-item>Homepage</ol-breadcrumb-item> <ol-breadcrumb-item> <ol-dropdown> <ol-button slot="trigger" size="small" circle> <ol-icon label="More options" name="three-dots"></ol-icon> </ol-button> <ol-menu> <ol-menu-item type="checkbox" checked>Web Design</ol-menu-item> <ol-menu-item type="checkbox">Web Development</ol-menu-item> <ol-menu-item type="checkbox">Marketing</ol-menu-item> </ol-menu> </ol-dropdown> </ol-breadcrumb-item> <ol-breadcrumb-item>Our Services</ol-breadcrumb-item> <ol-breadcrumb-item>Digital Media</ol-breadcrumb-item> </ol-breadcrumb>
import { SlBreadcrumb, OlBreadcrumbItem, OlButton, OlDropdown, OlIcon, OlMenu, OlMenuItem } from '@onlive.site/ui/dist/react'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem>Homepage</OlBreadcrumbItem> <OlBreadcrumbItem> <OlDropdown slot="suffix"> <OlButton slot="trigger" size="small" circle> <OlIcon label="More options" name="three-dots"></OlIcon> </OlButton> <OlMenu> <OlMenuItem type="checkbox" checked> Web Design </OlMenuItem> <OlMenuItem type="checkbox">Web Development</OlMenuItem> <OlMenuItem type="checkbox">Marketing</OlMenuItem> </OlMenu> </OlDropdown> </OlBreadcrumbItem> <OlBreadcrumbItem>Our Services</OlBreadcrumbItem> <OlBreadcrumbItem>Digital Media</OlBreadcrumbItem> </OlBreadcrumb> );
Alternatively, you can place dropdown menus in a prefix or suffix slot.
<ol-breadcrumb> <ol-breadcrumb-item>Homepage</ol-breadcrumb-item> <ol-breadcrumb-item>Our Services</ol-breadcrumb-item> <ol-breadcrumb-item>Digital Media</ol-breadcrumb-item> <ol-breadcrumb-item> Web Design <ol-dropdown slot="suffix"> <ol-button slot="trigger" size="small" circle> <ol-icon label="More options" name="three-dots"></ol-icon> </ol-button> <ol-menu> <ol-menu-item type="checkbox" checked>Web Design</ol-menu-item> <ol-menu-item type="checkbox">Web Development</ol-menu-item> <ol-menu-item type="checkbox">Marketing</ol-menu-item> </ol-menu> </ol-dropdown> </ol-breadcrumb-item> </ol-breadcrumb>
import { OlBreadcrumb, OlBreadcrumbItem, OlButton, OlDropdown, OlIcon, OlMenu, OlMenuItem } from '@onlive.site/ui/dist/react'; const App = () => ( <OlBreadcrumb> <OlBreadcrumbItem>Homepage</OlBreadcrumbItem> <OlBreadcrumbItem>Our Services</OlBreadcrumbItem> <OlBreadcrumbItem>Digital Media</OlBreadcrumbItem> <OlBreadcrumbItem> Web Design <OlDropdown slot="suffix"> <OlButton slot="trigger" size="small" circle> <OlIcon label="More options" name="three-dots"></OlIcon> </OlButton> <OlMenu> <OlMenuItem type="checkbox" checked> Web Design </OlMenuItem> <OlMenuItem type="checkbox">Web Development</OlMenuItem> <OlMenuItem type="checkbox">Marketing</OlMenuItem> </OlMenu> </OlDropdown> </OlBreadcrumbItem> </OlBreadcrumb> );
Importing
If you’re using the autoloader or the traditional loader, you can ignore this section. Otherwise, feel free to use any of the following snippets to cherry pick this component.
To import this component from the CDN using a script tag:
<script type="module" src="https://cdn.onlive.site/@onlive.site/ui@1.8.20/cdn/components/breadcrumb/breadcrumb.js"></script>
To import this component from the CDN using a JavaScript import:
import 'https://cdn.onlive.site/@onlive.site/ui@1.8.20/cdn/components/breadcrumb/breadcrumb.js';
To import this component using a bundler:
import '@onlive.site/ui/dist/components/breadcrumb/breadcrumb.js';
To import this component as a React component:
import OlBreadcrumb from '@onlive.site/ui/dist/react/breadcrumb';
Slots
Name | Description |
---|---|
(default) | One or more breadcrumb items to display. |
separator
|
The separator to use between breadcrumb items. Works best with <ol-icon> . |
Learn more about using slots.
Properties
Name | Description | Reflects | Type | Default |
---|---|---|---|---|
label
|
The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by screen readers and other assistive devices to provide more context for users. |
string
|
''
|
|
updateComplete |
A read-only promise that resolves when the component has finished updating. |
Learn more about attributes and properties.
Parts
Name | Description |
---|---|
base |
The component’s base wrapper. |
Learn more about customizing CSS parts.
Dependencies
This component automatically imports the following dependencies.
<ol-icon>