A Foundation menu with a hover effect and active style.
<ul class="menu menu-hover-lines">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Contact</a></li>
</ul>
$menu-hover-lines-transition: all 0.35s ease;
$menu-hover-lines-border-width: 3px;
.menu-hover-lines {
text-align: center;
text-transform: uppercase;
font-weight: 500;
letter-spacing: 1px;
transition: $menu-hover-lines-transition;
li a {
padding: 0.75rem 0;
color: rgba($body-font-color, 0.5);
position: relative;
margin-left: 1rem;
}
li:first-child a {
margin-left: 0;
}
li.active > a {
background-color: transparent;
}
a:before,
a::after {
height: $menu-hover-lines-border-width;
position: absolute;
content: '';
transition: $menu-hover-lines-transition;
background-color: $primary-color;
width: 0;
}
a::before {
top: 0;
left: 0;
}
a::after {
bottom: 0;
right: 0;
}
a:hover,
li.active > a {
color: $body-font-color;
transition: $menu-hover-lines-transition;
}
a:hover::before,
.active a::before,
a:hover::after,
.active a::after {
width: 100%;
}
}
.menu-hover-lines {
text-align: center;
text-transform: uppercase;
font-weight: 500;
letter-spacing: 1px;
transition: all 0.35s ease;
}
.menu-hover-lines li a {
padding: 0.75rem 0;
color: rgba(10, 10, 10, 0.5);
position: relative;
margin-left: 1rem;
}
.menu-hover-lines li:first-child a {
margin-left: 0;
}
.menu-hover-lines li.active > a {
background-color: transparent;
}
.menu-hover-lines a:before,
.menu-hover-lines a::after {
height: 3px;
position: absolute;
content: '';
transition: all 0.35s ease;
background-color: #1779ba;
width: 0;
}
.menu-hover-lines a::before {
top: 0;
left: 0;
}
.menu-hover-lines a::after {
bottom: 0;
right: 0;
}
.menu-hover-lines a:hover,
.menu-hover-lines li.active > a {
color: #0a0a0a;
transition: all 0.35s ease;
}
.menu-hover-lines a:hover::before,
.menu-hover-lines .active a::before,
.menu-hover-lines a:hover::after,
.menu-hover-lines .active a::after {
width: 100%;
}