Navbar Component
A CSS implementation of the Sprout navbar component.
Related
Sprout Navbar documentation [external]
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;
}