Navbar Component

A CSS implementation of the Sprout navbar component.

Related

Example

html
<div style="height: 200px">
<div class="spr-nav" style="position: relative">
    <div class="spr-nav-header">
        <div class="spr-nav-header-contents">
            <div class="spr-nav-left">
              <h1>Brand</h1>
            </div>
            <div class="spr-nav-right">
                <div class="spr-nav-toggler">
                  <i class="spr-icon spr-icon-hamburger"></i>
                </div>
                <div class="spr-tabs spr-tabs-lg">
                    <div class="spr-tab">
                        <span class="active">Wolves</span>
                    </div>
                    <div class="spr-tab">
                        <span>Chickens</span>
                    </div>
                    <div class="spr-tab">
                        <span>Badgers</span>
                    </div>
                </div>
               <div class="spr-nav-icons">
                 <div class="spr-nav-icon">
                   <i class="spr-icon spr-icon-bell"></i>
                 </div>
                 <div class="spr-nav-icon">
                   <i class="spr-icon spr-icon-help"></i>
                 </div>
                 <div class="spr-nav-icon">
                   <i class="spr-icon spr-icon-user"></i>
                 </div>
               </div>
            </div>
        </div>
    </div>
    <div class="spr-nav-subheader">
        <div class="spr-nav-subheader-contents">
            <div class="spr-tabs spr-tabs-sm">
                <div class="spr-tab">
                    <span>Broccoli</span>
                </div>
                <div class="spr-tab">
                    <span class="active">Celery</span>
                </div>
                <div class="spr-tab">
                    <span>Cabbage</span>
                </div>
                <div class="spr-tab">
                    <span>Pepper</span>
                </div>
                <div class="spr-tab">
                    <span>Onion</span>
                </div>
            </div>
        </div>
    </div>
</div>
</div>

Compiled CSS

Example

scss
@import 'components/navbar';
css compiled
@keyframes openPopover {
  from {
    transform: scale(0.9);
  }
  to {
    transform: scale(1);
  }
}

.spr-nav {
  position: fixed;
  z-index: 99999;
  left: 0;
  top: 0;
  width: 100%;
  box-shadow: 0 2px 4px 0 rgba(24, 25, 27, 0.15);
  background-color: #fff;
}

.spr-nav-header {
  display: flex;
  height: 4.5rem;
}

.spr-nav-subheader {
  height: 2.5rem;
  border-top: 1px solid #e4e5e7;
}

@media only screen and (max-width: 37.49rem) {
  .spr-nav-subheader {
    display: none !important;
  }
}

.spr-nav-header-contents {
  box-sizing: border-box;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: #18191b;
}

@media only screen and (max-width: 37.49rem) {
  .spr-nav-header-contents {
    padding: 0rem 1rem;
  }
}

@media only screen and (min-width: 37.5rem) and (max-width: 74.99rem) {
  .spr-nav-header-contents {
    padding: 0rem 1.5rem;
  }
}

@media only screen and (min-width: 75rem) {
  .spr-nav-header-contents {
    padding: 0rem 2rem;
  }
}

.spr-nav-subheader-contents {
  color: #18191b;
}

@media only screen and (min-width: 37.5rem) and (max-width: 74.99rem) {
  .spr-nav-subheader-contents {
    padding: 0rem 1.5rem;
  }
}

@media only screen and (min-width: 75rem) {
  .spr-nav-subheader-contents {
    padding: 0rem 2rem;
    box-sizing: border-box;
    width: 75rem;
    margin: 0 auto;
  }
}

.spr-nav-center,
.spr-nav-left,
.spr-nav-right {
  display: flex;
  flex-direction: row;
  white-space: nowrap;
}

.spr-nav-center {
  padding: 0rem 1rem;
}

.spr-nav-left {
  margin-right: 1rem;
}

.spr-nav-right {
  margin-left: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  align-items: center;
}

.spr-nav-right > :not(:last-child) {
  margin-right: 1rem;
}

.spr-nav-right .spr-nav-toggler {
  cursor: pointer;
  margin-right: 0;
  display: none;
}

@media only screen and (max-width: 37.49rem) {
  .spr-nav-right > :not(.spr-nav-toggler) {
    display: none;
  }
  .spr-nav-right .spr-nav-toggler {
    display: inline-block;
  }
}

.spr-nav-icons {
  display: flex;
  align-items: center;
}

.spr-nav-icons .spr-nav-icon {
  padding: 0.5rem 0.5rem;
}

.spr-nav-icons .spr-icon {
  background-color: #18191b;
  cursor: pointer;
}

.spr-nav-link {
  padding: 0rem 1rem;
}

.spr-nav-subheader-link {
  padding: 0.5rem 1rem;
}