|
/* |
|
* Made by Erik Terwan |
|
* 24th of November 2015 |
|
* All rights reserved |
|
* |
|
* |
|
* If you are thinking of using this in |
|
* production code, beware of the browser |
|
* prefixes. |
|
*/ |
|
|
|
body |
|
{ |
|
margin: 0; |
|
padding: 0; |
|
|
|
/* make it look decent enough */ |
|
background: #232323; |
|
color: #cdcdcd; |
|
font-family: "Avenir Next", "Avenir", sans-serif; |
|
} |
|
|
|
a |
|
{ |
|
text-decoration: none; |
|
color: #232323; |
|
|
|
transition: color 0.3s ease; |
|
} |
|
|
|
a:hover |
|
{ |
|
color: tomato; |
|
} |
|
|
|
#menuToggle |
|
{ |
|
display: block; |
|
position: relative; |
|
top: 50px; |
|
left: 50px; |
|
|
|
z-index: 1; |
|
|
|
-webkit-user-select: none; |
|
user-select: none; |
|
} |
|
|
|
#menuToggle input |
|
{ |
|
display: block; |
|
width: 33px; |
|
height: 28px; |
|
position: absolute; |
|
top: 0; |
|
left: 0; |
|
|
|
cursor: pointer; |
|
|
|
opacity: 0; /* hide this */ |
|
z-index: 2; /* and place it over the hamburger */ |
|
} |
|
|
|
/* |
|
* Just a quick hamburger |
|
*/ |
|
#menuToggle span |
|
{ |
|
display: block; |
|
width: 33px; |
|
height: 4px; |
|
margin-bottom: 5px; |
|
position: relative; |
|
|
|
background: #cdcdcd; |
|
border-radius: 3px; |
|
|
|
z-index: 1; |
|
|
|
transform-origin: 4px 0px; |
|
|
|
transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), |
|
background 0.5s cubic-bezier(0.77,0.2,0.05,1.0), |
|
opacity 0.55s ease; |
|
} |
|
|
|
#menuToggle span:first-child |
|
{ |
|
transform-origin: 0px 10px; |
|
} |
|
|
|
#menuToggle span:last-child |
|
{ |
|
transform-origin: 0px 3px; |
|
} |
|
|
|
/* |
|
* Transform all the slices of hamburger |
|
* into a crossmark. |
|
*/ |
|
#menuToggle input:checked ~ span |
|
{ |
|
opacity: 1; |
|
transform: rotate(45deg); |
|
background: #232323; |
|
} |
|
|
|
/* |
|
* But let's hide the middle one. |
|
*/ |
|
#menuToggle input:checked ~ span:nth-last-child(3) |
|
{ |
|
opacity: 0; |
|
transform: rotate(0deg) scale(0.2, 0.2); |
|
} |
|
|
|
/* |
|
* Ohyeah and the last one should go the other direction |
|
*/ |
|
#menuToggle input:checked ~ span:nth-last-child(2) |
|
{ |
|
opacity: 1; |
|
transform: rotate(-45deg); |
|
} |
|
|
|
/* |
|
* Make this absolute positioned |
|
* at the top left of the screen |
|
*/ |
|
#menu |
|
{ |
|
position: absolute; |
|
width: 300px; |
|
margin: -100px 0 0 -50px; |
|
padding: 50px; |
|
padding-top: 125px; |
|
|
|
background: #ededed; |
|
list-style-type: none; |
|
|
|
transform-origin: 0% 0%; |
|
transform: translate(-100%, 0); |
|
|
|
transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0); |
|
} |
|
|
|
#menu li |
|
{ |
|
padding: 10px 0; |
|
font-size: 22px; |
|
} |
|
|
|
/* |
|
* And let's fade it in from the left |
|
*/ |
|
#menuToggle input:checked ~ ul |
|
{ |
|
transform: scale(1.0, 1.0); |
|
opacity: 1; |
|
} |