Skip to content

Instantly share code, notes, and snippets.

@CodeMyUI
Created June 12, 2018 00:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CodeMyUI/d57950131f3efe8f389b0a27370d7662 to your computer and use it in GitHub Desktop.
Save CodeMyUI/d57950131f3efe8f389b0a27370d7662 to your computer and use it in GitHub Desktop.
Mobile Navigation Menu
#toggle
span
#menu
span#title Menu
ul
li
a(href="#")
span Home
li
a(href="#")
span Forum
li
a(href="#")
span Downloads
#wrapper
#logo
span Mobile Navigation Menu
section Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis sunt mollitia molestiae maxime, voluptatibus, voluptas placeat minima natus temporibus culpa repudiandae! Nam porro molestiae possimus, laboriosam, vero tenetur consequatur voluptatibus?
$("#toggle").click(function() {
$(this).toggleClass("open");
$("#menu").toggleClass("opened");
});
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
@import url('https://fonts.googleapis.com/css?family=Quicksand');
@mixin transition($duration, $timing-func) {
-webkit-transition: $duration $timing-func all;
-moz-transition: $duration $timing-func all;
transition: $duration $timing-func all;
}
@mixin scale($size) {
-webkit-transform: scale($size);
-moz-transform: scale($size);
transform: scale($size);
}
@mixin rotate($deg) {
-webkit-transform: rotate($deg);
-moz-transform: rotate($deg);
transform: rotate($deg);
}
$bg: rgb(40,110,250);
$menu-bg: #fff;
$menu-hover: rgba(40,110,250,0.25);
$size: 5em;
$time: 350ms;
$degree: 135deg;
$timing: ease;
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
background: $bg;
color: #eee;
font-family: 'Quicksand', sans-serif;
}
#toggle {
position: fixed;
z-index: 3;
width: $size / 1.75;
height: $size / 1.75;
top: 0;
left: 0;
margin: 15px 0 0 15px;
cursor: pointer;
span {
display: block;
position: absolute;
width: 100%;
height: $size / 25;
margin: $size / 4 0 0 0;
background: #eee;
@include transition($time, $timing);
&:before,
&:after {
content: " ";
position: absolute;
width: 100%;
height: $size / 25;
background: #eee;
@include transition($time, $timing);
}
&:before {
margin: -$size / 5 0 0 0;
}
&:after {
margin: $size / 5 0 0 0;
}
}
&.open {
span {
background-color: transparent;
&:before,
&:after {
margin: 0;
background: $bg;
}
&:before {
@include rotate($degree);
}
&:after {
@include rotate(-$degree);
}
}
}
}
#menu {
visibility: hidden;
opacity: 0;
position: fixed;
z-index: 2;
width: 100%;
height: 100%;
top: 0;
left: 0;
text-align: center;
background: $menu-bg;
@include scale(1.5);
@include transition($time, $timing);
&.opened {
visibility: visible;
opacity: 1;
@include scale(1);
@include transition($time, $timing);
}
span {
&#title {
display: block;
line-height: $size / 5;
margin: 0 0 $size / 10 0;
font-size: $size;
color: $bg;
}
}
ul {
list-style: none;
margin: 0 auto;
li {
display: block;
width: 90%;
height: 65px;
margin: 0 auto $size / 10 auto;
&:after {
content: " ";
position: absolute;
width: 0%;
height: 65px;
margin: -65px 0 0 5%;
left: 0;
background: $bg;
border-radius: $size / 20;
@include transition($time, $timing);
}
&:hover {
&:after {
width: 90%;
}
}
a {
position: relative;
z-index: 4;
display: block;
width: 100%;
height: 65px;
line-height: 65px;
margin: 0 auto;
color: $bg;
text-decoration: none;
border: 1px solid #ddd;
border-radius: $size / 25;
@include transition($time, $timing);
&:hover {
color: #eee;
border-color: $bg;
}
span {
font-size: $size / 3;
}
i {
position: absolute;
padding: 0 $size / 4 0 0;
font-size: $size / 2.5;
}
}
}
}
}
#wrapper {
width: 85%;
margin: 0 auto;
#logo {
display: block;
width: 100%;
margin: 40px auto;
text-align: center;
span {
font-size: $size / 1.5;
}
}
section {
font-size: $size / 4.5;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment