Mobile Friendly HTML 5 and CSS 3 Responsive Fixed Navigation Menu ('-' * 65) A mobile first flexbox navigation menu with a responsive design that works seamlessly with a mobile drop down menu.
Created
May 22, 2015 23:10
-
-
Save adambray89/925e607af2444d720e6b to your computer and use it in GitHub Desktop.
Mobile Friendly HTML 5 and CSS 3 Responsive Fixed Navigation Menu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<header> | |
<div id="logo" class="menuUp"> | |
<h1>Adam Bray.</h1> | |
<div id="navToggle"><a href="#">Menu</a></div> | |
</div> | |
<nav> | |
<ul> | |
<li><a href="#">Home</a></li> | |
<li><a href="#">About</a></li> | |
<li> | |
<a href="#">Blog</a> | |
<nav> | |
<ul> | |
<li><a href="#">Articles</a></li> | |
<li><a href="#">Tutorials</a></li> | |
<li><a href="#">Humour</a></li> | |
<li><a href="#">Gaming</a></li> | |
<li><a href="#">Music</a></li> | |
</ul> | |
</nav> | |
</li> | |
<li><a href="#">Forum</a></li> | |
<li><a href="#">Help</a></li> | |
</ul> | |
</nav> | |
</header> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function() { | |
$("#navToggle a").click(function(e){ | |
e.preventDefault(); | |
$("header > nav").slideToggle("medium"); | |
$("#logo").toggleClass("menuUp menuDown"); | |
}); | |
$(window).resize(function() { | |
if($( window ).width() >= "600") { | |
$("header > nav").css("display", "block"); | |
if($("#logo").attr('class') == "menuDown") { | |
$("#logo").toggleClass("menuUp menuDown"); | |
} | |
} | |
else { | |
$("header > nav").css("display", "none"); | |
} | |
}); | |
$("header > nav > ul > li > a").click(function(e) { | |
if($( window ).width() <= "600") { | |
if($(this).siblings().size() > 0 ) { | |
$(this).siblings().slideToggle("fast"); | |
} | |
} | |
}); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* { | |
margin: 0; | |
padding: 0; | |
outline: none; | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} | |
body { | |
background: #eee; | |
color: #444; | |
-webkit-font-smoothing: antialiased; | |
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; | |
font-weight: 300; | |
font-weight: 400; | |
height: auto !important; | |
height: 100%; | |
min-height: 100%; | |
text-rendering: optimizeLegibility; | |
} | |
header { | |
background-color: rgb(140, 193, 193); | |
border-bottom: 1px solid rgba(0,0,0,.15); | |
display: flex; | |
flex-direction: column; | |
text-align: center; | |
} | |
header > div#logo { | |
line-height: 70px; | |
position: relative; | |
} | |
header > .menuDown { | |
box-shadow: 0 3px 5px rgba(0,0,0,.15); | |
} | |
header > .menuUp { | |
box-shadow: none; | |
} | |
header > div#logo > h1 { | |
color: white; | |
font-weight: 300; | |
text-transform: lowercase; | |
} | |
header > div#logo > div#navToggle { | |
background-color: rgba(0,0,0,.15); | |
position: absolute; | |
right: 0; | |
top: 0; | |
transition: 300ms all ease; | |
} | |
header > div#logo > div#navToggle:hover { | |
background-color: rgba(0,0,0,.1); | |
} | |
header > div#logo > div#navToggle > a { | |
color: rgba(255,255,255,.85); | |
display: block; | |
font-size: 0.85em; | |
font-weight: 600; | |
padding: 0 2.5rem; | |
text-decoration: none; | |
transition: 300ms all ease; | |
} | |
header > div#logo > div#navToggle:hover > a { | |
color: rgba(255,255,255,1); | |
} | |
header > nav { | |
background-color: white; | |
display: none; | |
flex: 1; | |
transform: 300ms all ease; | |
} | |
header nav > ul { | |
list-style-type: none; | |
} | |
header nav > ul > li { | |
border-bottom: 1px dotted rgba(0,0,0,.1); | |
position: relative; | |
} | |
header nav > ul > li:last-of-type { | |
border-bottom: none; | |
} | |
header nav > ul > li > a { | |
display: block; | |
color: rgba(0,0,0,.65); | |
font-weight: 700; | |
padding: 1.5rem 0; | |
text-decoration: none; | |
transition: 250ms all ease; | |
} | |
header > nav > ul > li:hover > a { | |
color: rgb(140, 193, 193); | |
} | |
header > nav > ul > li > nav { | |
background-color: rgb(51,51,51); | |
border-radius: 1.5em; | |
box-shadow: 0 2px 8px rgba(0,0,0,.6); | |
display: none; | |
overflow: hidden; | |
position: absolute; | |
right: 5%; | |
width: 90%; | |
z-index: 100; | |
} | |
header > nav > ul > li > nav > ul > li > a { | |
color: rgba(255,255,255,.85); | |
transition: 300ms all ease; | |
} | |
header > nav > ul > li > nav > ul > li:hover > a { | |
background-color: rgba(0,0,0,.6); | |
color: rgba(255,255,255,1); | |
} | |
/* Medium screens */ | |
@media all and (min-width: 600px) { | |
header > div#logo > div#navToggle { | |
display: none; | |
} | |
header { | |
background-color: white; | |
flex-direction: row; | |
line-height: 90px; | |
padding: 0 3rem; | |
position: fixed; | |
text-align: left; | |
width: 100%; | |
} | |
header > div#logo { | |
background-color: transparent; | |
line-height: 90px; | |
} | |
header > div#logo > h1 { | |
color: rgb(140, 193, 193); | |
} | |
header > nav { | |
background-color: transparent; | |
display: block; | |
} | |
header > nav > ul { | |
display: flex; | |
flex-flow: row wrap; | |
justify-content: flex-end; | |
} | |
header nav > ul > li { | |
border-bottom: none; | |
} | |
header nav > ul > li > a { | |
padding: 0 1.25rem; | |
} | |
header > nav > ul > li:hover > nav { | |
background-color: rgb(51,51,51); | |
border-radius: .25em; | |
box-shadow: 0 2px 8px rgba(0,0,0,.6); | |
display: block; | |
line-height: 3em; | |
right: -50%; | |
width: 196px; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment