Navigation
ready

Introduction

The navigation block.

Examples

Default nav

<nav class="nav">
      <ul class="nav__list">
          <li class="nav__list-item">
              <a href="#" class="nav__link">Link 1</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link">Link 2</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link">Link 3</a>
          </li>
      </ul>
    </nav>
    

Horizontal nav (always)

<nav class="nav">
      <ul class="nav__list">
          <li class="nav__list-item nav__list-item--x">
              <a href="#" class="nav__link">Link 1</a>
          </li>
          <li class="nav__list-item nav__list-item--x">
              <a href="#" class="nav__link">Link 2</a>
          </li>
          <li class="nav__list-item nav__list-item--x">
              <a href="#" class="nav__link">Link 3</a>
          </li>
      </ul>
    </nav>
    

Horizontal nav spaced (always)

<nav class="nav">
      <ul class="nav__list">
          <li class="nav__list-item nav__list-item--x nav__list-item--x-space">
              <a href="#" class="nav__link">Link 1</a>
          </li>
          <li class="nav__list-item nav__list-item--x nav__list-item--x-space">
              <a href="#" class="nav__link">Link 2</a>
          </li>
          <li class="nav__list-item nav__list-item--x nav__list-item--x-space">
              <a href="#" class="nav__link">Link 3</a>
          </li>
      </ul>
    </nav>
    

Horizontal nav spaced at large breakpoint <span class'text-small'>(Can be applied to all breakpoints)</span>

<nav class="nav">
      <ul class="nav__list">
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space">
              <a href="#" class="nav__link">Link 1</a>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space">
              <a href="#" class="nav__link">Link 2</a>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space">
              <a href="#" class="nav__link">Link 3</a>
          </li>
      </ul>
    </nav>
    

Chrome nav

<nav class="nav nav--chrome">
      <ul class="nav__list">
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome">Basic link</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome is-selected">Selected Link</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome is-disabled">Disabled Link</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome">Basic link</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome is-disabled is-selected">Disabled & Selected Link</a>
          </li>
          <li class="nav__list-item">
              <a href="#" class="nav__link nav__link--chrome">Basic link</a>
          </li>
      </ul>
    </nav>
    

Showroom nav

<nav class="nav">
      <ul class="nav__list">
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space nav__list-item--x-showroom">
              <a href="#" class="nav__link link--alt text-caps text-small text-bold">Get a loan</a>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space nav__list-item--x-showroom">
              <a href="#" class="nav__link link--alt text-caps text-small text-bold">Prospective investor</a>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space nav__list-item--x-showroom fly-out is-open"
              data-js="fly-out"
              data-fly-out-event-type="hover">
                <span class="nav__link link--alt text-caps text-small text-bold"
                      data-js="fly-out-toggle">Resources</span>
                <nav class="nav nav--showroom fly-out__content" data-js="fly-out-content">
                  <ul class="nav__list">
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">Blog</a>
                      </li>
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">FAQs</a>
                      </li>
                  </ul>
                </nav>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space nav__list-item--x-showroom fly-out"
              data-js="fly-out"
              data-fly-out-event-type="hover">
                <span class="nav__link link--alt text-caps text-small text-bold"
                      data-js="fly-out-toggle">Community</span>
                <nav class="nav nav--showroom fly-out__content" data-js="fly-out-content">
                  <ul class="nav__list">
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">Scholarship</a>
                      </li>
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">Our Ambassadors</a>
                      </li>
                  </ul>
                </nav>
          </li>
          <li class="nav__list-item nav__list-item--x-large nav__list-item--x-space nav__list-item--x-showroom fly-out"
              data-js="fly-out"
              data-fly-out-event-type="hover">
                <span class="nav__link link--alt text-caps text-small text-bold"
                      data-js="fly-out-toggle">About us</span>
                <nav class="nav nav--showroom fly-out__content" data-js="fly-out-content">
                  <ul class="nav__list">
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">The Company</a>
                      </li>
                      <li class="nav__list-item">
                          <a href="#" class="nav__link nav__link--showroom">Press</a>
                      </li>
                  </ul>
                </nav>
          </li>
      </ul>
    </nav>
    

Dependencies

  • src/styles/base/*.scss
  • src/styles/components/blocks/_nav.scss
  • src/styles/base/_shame.scss

Usage

Class/JavaScript Hook Description Required?
.notice Creates a notice element that can have a wide range of children as content. Required
.nav Placed on the outer-most tag that will contain the navigation list and items Required.
.nav__list Placed on the tag that will contain the navigation items Required.
.nav__list-item Placed on the tag that will be a navigation item Required.
.nav__list-item--x[-BREAKPOINT] Make the item appear inline. Applied to all items makes a horizontal nav. Optional. Can add a breakpoint name so style only works at specific sizes.
.nav__list-item--x-space[-BREAKPOINT] Creates space between the horizontal nav items. Applied to all items. Optional. Can only be used with .nav__list-item--x. Can add a breakpoint name so style only works at specific sizes.
.nav__btn--max-BREAKPOINT Makes nav link look like a button up to specific breakpoint. Optional.
.nav--right Right aligns the text inside a nav. Optional.
.nav--legal Adds a bottom margin to the nav. Optional.
.nav--chrome Adds some fancier styling to a nav. Optional.
.nav__link--chrome Adds some fancier styling to a nav link. Optional.