Breadcrumb List

@use 'sprucecss/scss/spruce' as *;

.breadcrumb-list {
  @include clear-list;
  align-items: center;
  display: flex;
  max-inline-size: 100%;
  overflow-x: auto;
  white-space: nowrap;

  > li {
    align-items: center;
    display: inline-flex;
    margin-block: 0;

    + li::before {
      block-size: 0.4em;
      border-block-end: 2px solid color('separator', 'breadcrumb');
      border-inline-end: 2px solid color('separator', 'breadcrumb');
      content: '';
      display: inline-flex;
      inline-size: 0.4em;
      margin-inline: 0.75em;
      transform: rotate(-45deg);

      @at-root {
        [dir='rtl'] & {
          transform: rotate(45deg);
        }
      }
    }
  }

  [aria-current='page'] {
    @include text-ellipsis(1);
    display: inline-block;
    max-inline-size: 20ch;
    text-align: start;
  }
}
<ol class="breadcrumb-list">
    <li>
        <a href="#">Home</a>
    </li>
    <li>
        <a href="#">Blog</a>
    </li>
    <li>
        <span aria-current="page">Why Mountains Is No Friend to Small Business</span>
    </li>
</ol>

Breadcrumb List

The breadcrumb is a standard navigation element that helps the user identify their site location.

Technical Details

  • It is an ordered list <ol> element.
  • It uses aria-current="page" to mark the current position.

Dependencies

As you see, it uses custom color values from the $colors map.

Colors

$colors: (
  'breadcrumb': (
    'separator': hsl(0deg 0% 80%),
  ),
),

Resources

Documentation

Learn about Spruce CSS through our extensive documentation.

Components

Explore our extensive UI library built with Spruce CSS.

Blog

Read about front-end development and concepts of Spruce CSS.

Find us on GitHub

Did you find a bug? Have an idea or a question? Please open an issue to help us develop the project.