Created
April 9, 2015 20:48
-
-
Save jlcarvalho/11a9bc155033b1b8fdb1 to your computer and use it in GitHub Desktop.
Gistter: Responsive Navigation Ideas
This file contains 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
$('.nav__trigger').on('click', function(e){ | |
e.preventDefault(); | |
$(this).parent().toggleClass('nav--active'); | |
}); |
This file contains 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
<!doctype html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Gistter</title> | |
<!-- Necessary to insert the styles --> | |
<link rel="stylesheet" type="text/css" href="main.css"> | |
</head> | |
<body> | |
<!-- Your code here --> | |
<div class="container"> | |
<h1>Responsive Navigation Ideas</h1> | |
<!-- Style #1 --> | |
<div class="iphone style-1"> | |
<div class="iphone__item">#1</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #1 --> | |
<!-- Style #2 --> | |
<div class="iphone style-2"> | |
<div class="iphone__item">#2</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #2 --> | |
<!-- Style #23--> | |
<div class="iphone style-3"> | |
<div class="iphone__item">#3</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #3 --> | |
<!-- Style #4--> | |
<div class="iphone style-4"> | |
<div class="iphone__item">#4</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #4 --> | |
<!-- Style #5--> | |
<div class="iphone style-5"> | |
<div class="iphone__item">#5</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #5 --> | |
<!-- Style #6--> | |
<div class="iphone style-6"> | |
<div class="iphone__item">#6</div> | |
<div class="iphone__power-btn"></div> | |
<div class="iphone__left-btn"></div> | |
<div class="iphone__details"></div> | |
<div class="iphone__screen"> | |
<a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
<nav class="nav"> | |
<ul class="nav__list"> | |
<li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
<li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
</ul> | |
</nav> | |
<div class="iphone__content"></div> | |
</div> | |
<div class="iphone__home-btn"></div> | |
</div> | |
<!-- /Style #6 --> | |
</div> | |
<!-- Necessary to insert the javascript --> | |
<script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script> | |
<script type="text/javascript" src="app.js"></script> | |
</body> | |
</html> |
This file contains 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
/** | |
* Demo Stuff | |
*/ | |
body { | |
background: #1bbc9b; | |
font-family: 'Montserrat', sans-serif; | |
} | |
.container { | |
text-align: center; | |
} | |
h1 { | |
color: #117964; | |
font-weight: 400; | |
font-size: 2em; | |
margin: 1em 0; | |
} | |
/** | |
* iPhone | |
* Credits: Flat, Scaleable CSS iPhone Illustration by Tom Hergenreter | |
* http://codepen.io/TomHergenreter/details/qDywF/ | |
*/ | |
.iphone { | |
width: 16.06em; | |
height: 30.6em; | |
border-radius: 1.875em; | |
margin: 2em; | |
position: relative; | |
display: inline-block; | |
background: #fff; | |
} | |
.iphone__item { | |
width: 16.06em; | |
height: 1em; | |
position: absolute; | |
bottom: -2em; | |
color: #158f76; | |
text-align: center; | |
} | |
.iphone__power-btn { | |
width: 2.188em; | |
height: .188em; | |
background: #e0e0e0; | |
position: absolute; | |
right: 2.5em; | |
top: -0.188em; | |
} | |
.iphone__left-btn { | |
width: .188em; | |
height: 1.250em; | |
top: 3.250em; | |
left: -0.188em; | |
position: absolute; | |
background: #e0e0e0; | |
} | |
.iphone__left-btn:before { | |
content: ''; | |
width: .188em; | |
height: .875em; | |
position: absolute; | |
top: 3em; | |
background: #e0e0e0; | |
} | |
.iphone__left-btn:after { | |
content: ''; | |
width: .188em; | |
height: .875em; | |
position: absolute; | |
top: 5.5em; | |
background: #e0e0e0; | |
} | |
.iphone__details { | |
width: .438em; | |
height: .438em; | |
border-radius: 100%; | |
position: relative; | |
top: 1.313em; | |
left: 8em; | |
background: #7c7c7c; | |
} | |
.iphone__details:before { | |
content: ''; | |
width: 2.5em; | |
height: .25em; | |
border-radius: .25em; | |
position: absolute; | |
top: 1em; | |
left: -1em; | |
background: #7c7c7c; | |
} | |
.iphone__home-btn { | |
width: 2.25em; | |
height: 2.25em; | |
border-radius: 100%; | |
position: absolute; | |
bottom: 1em; | |
right: 6.75em; | |
background: #f7f7f7; | |
} | |
.iphone__home-btn:before { | |
content: ''; | |
width: .813em; | |
height: .813em; | |
border: .15em solid #a8a8a8; | |
border-radius: .2em; | |
position: absolute; | |
top: .6em; | |
left: .57em; | |
} | |
.iphone__screen { | |
width: 14.5em; | |
height: 22.938em; | |
position: absolute; | |
top: 3.75em; | |
left: .750em; | |
overflow: hidden; | |
} | |
.iphone__content { | |
position: relative; | |
background-color: #d2527f; | |
width: 100%; | |
height: 100%; | |
} | |
/** | |
* Navigation Defaults | |
*/ | |
.nav { | |
position: absolute; | |
z-index: 100; | |
opacity: 0; | |
-webkit-transition-property: all; | |
transition-property: all; | |
-webkit-transition-duration: 300ms; | |
transition-duration: 300ms; | |
} | |
.nav--active .nav { | |
opacity: 1; | |
background-color: #333333; | |
} | |
.nav__list { | |
margin: 0; | |
padding: 10px; | |
} | |
.nav__item { | |
list-style-type: none; | |
text-align: left; | |
} | |
.nav__link { | |
font-size: 1.3em; | |
text-transform: uppercase; | |
text-decoration: none; | |
color: #ffffff; | |
opacity: 1; | |
-webkit-transition: opacity 300ms ease-in-out; | |
transition: opacity 300ms ease-in-out; | |
} | |
/* Default navigation icon */ | |
.nav__trigger { | |
display: block; | |
position: absolute; | |
width: 30px; | |
height: 25px; | |
right: 10px; | |
top: 10px; | |
z-index: 200; | |
} | |
.nav--active .nav__trigger { | |
opacity: 0.5; | |
} | |
.nav__icon { | |
display: inline-block; | |
position: relative; | |
width: 30px; | |
height: 5px; | |
background-color: #ffffff; | |
-webkit-transition-property: background-color, -webkit-transform; | |
transition-property: background-color, transform; | |
-webkit-transition-duration: 300ms; | |
transition-duration: 300ms; | |
} | |
.nav__icon:before, | |
.nav__icon:after { | |
content: ''; | |
display: block; | |
width: 30px; | |
height: 5px; | |
position: absolute; | |
background: #ffffff; | |
-webkit-transition-property: margin, -webkit-transform; | |
transition-property: margin, transform; | |
-webkit-transition-duration: 300ms; | |
transition-duration: 300ms; | |
} | |
.nav__icon:before { | |
margin-top: -10px; | |
} | |
.nav__icon:after { | |
margin-top: 10px; | |
} | |
/* Don't nest if you don't have to. */ | |
/** | |
* Style #1 | |
*/ | |
.style-1 .nav { | |
-webkit-transform: translateX(-100%); | |
-ms-transform: translateX(-100%); | |
transform: translateX(-100%); | |
width: 100%; | |
height: 100%; | |
} | |
.style-1 .nav__link { | |
opacity: 0; | |
-webkit-transition-delay: 500ms; | |
transition-delay: 500ms; | |
} | |
.style-1 .nav--active .nav__link { | |
opacity: 1; | |
} | |
.style-1 .nav--active .nav { | |
-webkit-transition: all 300ms ease-in-out; | |
transition: all 300ms ease-in-out; | |
-webkit-transform: translateX(0); | |
-ms-transform: translateX(0); | |
transform: translateX(0); | |
} | |
.style-1 .nav--active .nav__icon { | |
background: rgba(0, 0, 0, 0); | |
} | |
.style-1 .nav--active .nav__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(45deg); | |
-ms-transform: rotate(45deg); | |
transform: rotate(45deg); | |
} | |
.style-1 .nav--active .nav__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(-45deg); | |
-ms-transform: rotate(-45deg); | |
transform: rotate(-45deg); | |
} | |
/** | |
* Style #2 | |
*/ | |
.style-2 { | |
-webkit-perspective: 1000px; | |
perspective: 1000px; | |
} | |
.style-2 .nav { | |
width: 100%; | |
height: 100%; | |
-webkit-transform: rotateY(180deg); | |
transform: rotateY(180deg); | |
} | |
.style-2 .nav--active .nav { | |
-webkit-transform: rotateY(360deg); | |
transform: rotateY(360deg); | |
} | |
.style-2 .iphone__content { | |
-webkit-transform: rotateY(0); | |
transform: rotateY(0); | |
-webkit-transform-style: preserve-3d; | |
transform-style: preserve-3d; | |
-webkit-transition: all 300ms ease-in-out; | |
transition: all 300ms ease-in-out; | |
} | |
.style-2 .nav--active .iphone__content { | |
-webkit-transform-style: preserve-3d; | |
transform-style: preserve-3d; | |
-webkit-transform: rotateY(180deg); | |
transform: rotateY(180deg); | |
} | |
.style-2 .navi__icon { | |
background: rgba(0, 0, 0, 0); | |
} | |
.style-2 .navi__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.style-2 .navi__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(180deg); | |
-ms-transform: rotate(180deg); | |
transform: rotate(180deg); | |
} | |
.style-2 .nav--active .nav__icon { | |
background: rgba(0, 0, 0, 0); | |
-webkit-transform: rotate(135deg); | |
-ms-transform: rotate(135deg); | |
transform: rotate(135deg); | |
} | |
.style-2 .nav--active .nav__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.style-2 .nav--active .nav__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(180deg); | |
-ms-transform: rotate(180deg); | |
transform: rotate(180deg); | |
} | |
/** | |
* Style #3 | |
*/ | |
.style-3 .nav { | |
width: 100%; | |
height: 100%; | |
-webkit-transform: translateX(100%); | |
-ms-transform: translateX(100%); | |
transform: translateX(100%); | |
} | |
.style-3 .nav--active .nav { | |
-webkit-transform: translateX(20%); | |
-ms-transform: translateX(20%); | |
transform: translateX(20%); | |
} | |
.style-3 .iphone__content { | |
-webkit-transform: scale(1) translateX(0); | |
-ms-transform: scale(1) translateX(0); | |
transform: scale(1) translateX(0); | |
-webkit-transition: all 300ms ease-in-out; | |
transition: all 300ms ease-in-out; | |
} | |
.style-3 .iphone__screen { | |
background-color: #404040; | |
} | |
.style-3 .nav--active .iphone__content { | |
-webkit-transform: scale(0.9) translateX(-90%); | |
-ms-transform: scale(0.9) translateX(-90%); | |
transform: scale(0.9) translateX(-90%); | |
} | |
.style-3 .nav__icon { | |
background: rgba(0, 0, 0, 0); | |
} | |
.style-3 .nav__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.style-3 .nav__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(180deg); | |
-ms-transform: rotate(180deg); | |
transform: rotate(180deg); | |
} | |
.style-3 .nav--active .nav__icon { | |
-webkit-transform: rotate(135deg); | |
-ms-transform: rotate(135deg); | |
transform: rotate(135deg); | |
} | |
/** | |
* Style #4 | |
*/ | |
.style-4 .nav { | |
width: 100%; | |
height: 100%; | |
-webkit-transform: translateY(-100%); | |
-ms-transform: translateY(-100%); | |
transform: translateY(-100%); | |
} | |
.style-4 .nav--active .nav { | |
-webkit-transform: translateY(0); | |
-ms-transform: translateY(0); | |
transform: translateY(0); | |
} | |
.style-4 .nav--active .nav__icon { | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.style-4 .nav__link { | |
opacity: 0; | |
-webkit-transition-delay: 500ms; | |
transition-delay: 500ms; | |
} | |
.style-4 .nav--active .nav__link { | |
opacity: 1; | |
} | |
/** | |
* Style #5 | |
*/ | |
.style-5 .nav { | |
-webkit-transform: translate(100%, -100%) scale(0.5); | |
-ms-transform: translate(100%, -100%) scale(0.5); | |
transform: translate(100%, -100%) scale(0.5); | |
border-radius: 100%; | |
} | |
.style-5 .nav--active .nav { | |
-webkit-transform: translateY(0) scale(1); | |
-ms-transform: translateY(0) scale(1); | |
transform: translateY(0) scale(1); | |
border-radius: 0; | |
width: 100%; | |
height: 100%; | |
} | |
.style-5 .nav__link { | |
opacity: 0; | |
-webkit-transition-delay: 500ms; | |
transition-delay: 500ms; | |
} | |
.style-5 .nav--active .nav__link { | |
opacity: 1; | |
} | |
.style-5 .nav--active .nav__icon { | |
background: rgba(0, 0, 0, 0); | |
} | |
.style-5 .nav--active .nav__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(45deg); | |
-ms-transform: rotate(45deg); | |
transform: rotate(45deg); | |
} | |
.style-5 .nav--active .nav__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(-45deg); | |
-ms-transform: rotate(-45deg); | |
transform: rotate(-45deg); | |
} | |
/** | |
* Style #6 | |
*/ | |
.style-6 .nav { | |
-webkit-transform: rotateZ(-90deg); | |
transform: rotateZ(-90deg); | |
width: 100%; | |
height: 100%; | |
} | |
.style-6 .nav--active .nav { | |
-webkit-transform: rotateZ(0); | |
transform: rotateZ(0); | |
} | |
.style-6 .nav__link { | |
opacity: 0; | |
-webkit-transition-delay: 500ms; | |
transition-delay: 500ms; | |
} | |
.style-6 .nav--active .nav__link { | |
opacity: 1; | |
} | |
.style-6 .nav__icon { | |
background: rgba(0, 0, 0, 0); | |
} | |
.style-6 .nav__icon:before { | |
margin-top: 0; | |
-webkit-transform: rotate(90deg); | |
-ms-transform: rotate(90deg); | |
transform: rotate(90deg); | |
} | |
.style-6 .nav__icon:after { | |
margin-top: 0; | |
-webkit-transform: rotate(180deg); | |
-ms-transform: rotate(180deg); | |
transform: rotate(180deg); | |
} | |
.style-6 .nav--active .nav__icon { | |
-webkit-transform: rotate(135deg); | |
-ms-transform: rotate(135deg); | |
transform: rotate(135deg); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment