A Pen by Bennett Feely on CodePen.
Created
October 7, 2013 20:48
-
-
Save AdamWagner/6874711 to your computer and use it in GitHub Desktop.
A Pen by Bennett Feely.
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
<section> | |
<nav> | |
<a class="navicon-button loading"> | |
<div class="navicon"></div> | |
</a> | |
<a class="navicon-button larr"> | |
<div class="navicon"></div> | |
</a> | |
<a class="navicon-button uarr"> | |
<div class="navicon"></div> | |
</a> | |
<a class="navicon-button x"> | |
<div class="navicon"></div> | |
</a> | |
<a class="navicon-button plus"> | |
<div class="navicon"></div> | |
</a> | |
<a class="navicon-button"> | |
<div class="navicon"></div> | |
</a> | |
</nav> | |
<h1>Click the icons!</h1> | |
</section> |
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
$("a").click(function(){ | |
$(this).toggleClass("open"); | |
$("h1").addClass("fade"); | |
}); |
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
@import "compass"; | |
/* Change this to watch in slo-mo */ | |
$transition-duration: .5s; | |
$size : 100%; | |
$toggled-size : .75; | |
$bodybg : #449a88; | |
$navbg : #2a2a2a; | |
$pagebg : #e7e6dd; | |
.navicon-button { | |
display: inline-block; | |
position: relative; | |
padding: 2.0625rem 1.5rem; | |
transition: $transition-duration; | |
cursor: pointer; | |
user-select: none; | |
opacity: .8; | |
&:hover { | |
opacity: 1; | |
.navicon:before, .navicon:after { | |
transition: $transition-duration/2; | |
} | |
.navicon:after { top: -.825rem; } | |
.navicon:before { top: .825rem; } | |
} | |
} | |
.navicon { | |
position: relative; | |
width: 2.5em; | |
height: .3125rem; | |
background: $pagebg; | |
transition: $transition-duration; | |
border-radius: 2.5rem; | |
&:after, &:before { | |
display: block; | |
content: ""; | |
height: .3125rem; | |
width: 2.5rem; | |
background: $pagebg; | |
position: absolute; | |
z-index: -1; | |
transition: $transition-duration ($transition-duration/2); | |
border-radius: 1rem; | |
} | |
&:after { top: -.625rem; } | |
&:before { top: .625rem; } | |
} | |
.open:not(.steps) .navicon:before, | |
.open:not(.steps) .navicon:after { | |
top: 0 !important; | |
} | |
.open .navicon:before, | |
.open .navicon:after { | |
transition: $transition-duration; | |
} | |
/* Minus */ | |
.open { transform: scale($toggled-size); } | |
/* Arrows */ | |
.open.larr .navicon, | |
.open.uarr .navicon { | |
&:before, &:after { | |
width: 1.5rem; | |
} | |
&:before { transform: rotate(35deg); transform-origin: left top; } | |
&:after { transform: rotate(-35deg); transform-origin: left bottom; } | |
} | |
.open.uarr { transform: scale($toggled-size) rotate(90deg); } | |
/* × and + */ | |
.open.plus, | |
.open.x { | |
.navicon { | |
background: transparent; | |
&:after { transform: rotate(45deg); } | |
&:before { transform: rotate(-45deg); } | |
} | |
} | |
.open.plus { transform: scale($toggled-size) rotate(45deg) } | |
.loading .navicon { | |
color: dodgerblue; | |
box-shadow: inset 0 0; | |
transition: $transition-duration, box-shadow 0; | |
} | |
.loading .navicon { transition: 0; } | |
.open.loading { | |
transform: none; | |
.navicon { | |
box-shadow: inset 2.5rem 0; | |
transition: $transition-duration, box-shadow $transition-duration*5; | |
&:before, &:after { opacity: 0; } | |
} | |
} | |
/* Base ================== */ | |
* { box-sizing: border-box; } | |
html { font-size: $size; } | |
html, body, section { position: relative; height: 100%; } | |
body { | |
background: $bodybg; | |
padding: 1.5rem 1.5rem 0; | |
-webkit-backface-visibility: hidden; | |
} | |
section { | |
display: flex; | |
flex-direction: column; | |
justify-content: space-between; | |
border-radius: .5rem .5rem 0 0; | |
background: $pagebg; | |
overflow: hidden; | |
/* Smoother animations */ | |
& *, | |
& *:before, | |
& *:after { | |
transform: translate3d(0,0,0); | |
} | |
} | |
nav { | |
height: 4.5rem; | |
background: $navbg; | |
text-align: right; | |
border-radius: .5rem .5rem 0 0; | |
user-select: none; | |
-webkit-tap-highlight-color: transparent; | |
} | |
h1 { | |
text-align: right; | |
font: 2rem/4.5rem "Kite One"; | |
padding: 0 1.5rem; | |
opacity: .5; | |
transition: $transition-duration*2; | |
pointer-events: none; | |
&.fade { | |
opacity: 0; | |
} | |
} | |
@font-face { | |
font-family: 'Kite One'; | |
font-style: normal; | |
font-weight: 400; | |
src: local('Kite One'), local('KiteOne-Regular'), url(http://themes.googleusercontent.com/static/fonts/kiteone/v1/VNHoD96LpZ9rGZTwjozAOnYhjbSpvc47ee6xR_80Hnw.woff) format('woff'); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment