This post contains a total of 6+ Hand-Picked CSS Mobile Menu Examples with Source Code. All these Mobile Menus are made using CSS.
You can use the source code of these examples with credits to the original owner.
Related Posts
CSS Mobile Menu Examples
1. By Animation Bro
Made by Animation Bro. Mobile menu with cool hover effect and animation. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<style>
.phone {
width: 320px;
height: 260px;
margin: auto;
display: flex;
align-items: flex-end;
position: relative;
justify-content: center;
}
.phone::before {
content: '';
position: absolute;
width: 84%;
height: 0px;
bottom: -10px;
box-shadow: 0 0 25px 9px rgba(255, 0, 0, 0.33), 50px 10px 25px 8px rgba(18, 255, 0, 0.33), -40px 8px 25px 9px rgba(242, 255, 0, 0.33);
left: 0;
right: 0;
margin: auto;
}
.phone::after {
content: '';
}
.phone_content {
filter: contrast(20);
width: 100%;
background-color: white;
overflow: hidden;
position: absolute;
}
.phone_bottom {
width: 100%;
height: 66px;
background: black;
display: flex;
justify-content: center;
filter: blur(10px);
}
input {
display: none;
}
label {
cursor: pointer;
display: flex;
width: 33%;
height: 66px;
position: relative;
z-index: 2;
align-items: center;
justify-content: center;
}
label > img {
width: 25px;
top: 0;
bottom: 0;
margin: auto;
position: absolute;
z-index: 3;
transition: 200ms 100ms cubic-bezier(0.14, -0.08, 0.74, 1.4);
}
label::before {
content: '';
position: absolute;
}
.circle {
width: 60px;
height: 60px;
background: black;
position: absolute;
top: 152px;
z-index: 1;
border-radius: 50%;
left: 0;
right: 0;
margin: auto;
transition: 200ms cubic-bezier(0.14, -0.08, 0.74, 1.4);
box-shadow: 0px 82px 20px 0px rgba(128, 128, 128, 0.29);
}
.indicator {
width: 70px;
height: 70px;
background-image: linear-gradient(0deg, #f7b0b0, rgba(183, 255, 154, 0)), linear-gradient(0deg, rgba(158, 255, 151, 0.75), rgba(183, 255, 154, 0)), linear-gradient(0deg, #b4fffb, rgba(183, 255, 154, 0));
background-size: cover;
background-position: 0 10px;
border-radius: 50%;
position: absolute;
left: 0;
top: -42px;
right: 0;
margin: auto;
transition: 200ms cubic-bezier(0.14, -0.08, 0.74, 1.4);
}
#s1:checked ~ [for="s1"] > img {
top: -85px;
}
#s1:checked ~ .circle,
#s1:checked ~ div div .indicator {
left: -66%;
}
#s2:checked ~ [for="s2"] > img {
top: -85px;
}
#s2:checked ~ .circle,
#s2:checked ~ div div .indicator {
left: 0;
}
#s3:checked ~ [for="s3"] > img {
top: -85px;
}
#s3:checked ~ .circle,
#s3:checked ~ div div .indicator {
left: 66%;
}
</style>
</head>
<body>
<div class="phone">
<input type="radio" name="s" id="s1">
<input type="radio" name="s" id="s2" checked="checked">
<input type="radio" name="s" id="s3">
<label for="s1"><img src="https://co0kie.github.io/codepen/mobile-nav/facebook.svg" alt=""></label>
<label for="s2"><img src="https://co0kie.github.io/codepen/mobile-nav/twitter.svg" alt=""></label>
<label for="s3"><img src="https://co0kie.github.io/codepen/mobile-nav/instagram.svg" alt=""></label>
<div class="circle"></div>
<div class="phone_content">
<div class="phone_bottom">
<span class="indicator"></span>
</div>
</div>
</div>
</body>
</html>
2. By Kirsten Humphreys
Made by Kirsten Humphreys. Simple CSS Hamburger mobile menu. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<style>
/* Basic Styles */
* {
box-sizing: border-box;
}
html, body {
margin: 0;
}
body {
font-family: sans-serif;
background-color: #F6C390;
}
a {
text-decoration: none;
}
.container {
position: relative;
margin: 35px auto 0;
width: 300px;
height: 534px;
background-color: #533557;
overflow: hidden;
}
/* Toggle Functionality */
#toggle {
display: none;
}
#toggle:checked ~ .toggle-container .button-toggle {
box-shadow: 0 0 0 550px rgba(0, 0, 0, 0.1), inset 0 0 0 20px rgba(0, 0, 0, 0.1);
}
#toggle:checked ~ .toggle-container .button-toggle:before {
transform: translateY(-50%) rotate(45deg) scale(1);
}
#toggle:checked ~ .toggle-container .button-toggle:after {
transform: translateY(-50%) rotate(-45deg) scale(1);
}
#toggle:checked ~ .nav {
margin-bottom: 100px;
pointer-events: auto;
transform: translate(50px, 50px);
}
#toggle:checked ~ .nav .nav-item {
color: #EC7263;
letter-spacing: 0;
height: 40px;
line-height: 40px;
margin-top: 0;
opacity: 1;
transform: scaleY(1);
transition: 0.5s, opacity 0.1s;
}
#toggle:checked ~ .nav .nav-item:nth-child(1) {
transition-delay: 0.15s;
}
#toggle:checked ~ .nav .nav-item:nth-child(1):before {
transition-delay: 0.15s;
}
#toggle:checked ~ .nav .nav-item:nth-child(2) {
transition-delay: 0.1s;
}
#toggle:checked ~ .nav .nav-item:nth-child(2):before {
transition-delay: 0.1s;
}
#toggle:checked ~ .nav .nav-item:nth-child(3) {
transition-delay: 0.05s;
}
#toggle:checked ~ .nav .nav-item:nth-child(3):before {
transition-delay: 0.05s;
}
#toggle:checked ~ .nav .nav-item:nth-child(4) {
transition-delay: 0s;
}
#toggle:checked ~ .nav .nav-item:nth-child(4):before {
transition-delay: 0s;
}
#toggle:checked ~ .nav .nav-item:before {
opacity: 0;
}
#toggle:checked ~ .dummy-content {
padding-top: 30px;
}
#toggle:checked ~ .dummy-content:before {
background-color: rgba(0, 0, 0, 0.3);
}
/* Toggle Button */
.button-toggle {
position: absolute;
display: inline-block;
width: 20px;
height: 20px;
margin: 25px;
background-color: transparent;
border: none;
cursor: pointer;
border-radius: 100%;
transition: 0.6s;
}
.button-toggle:hover {
box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1), inset 0 0 0 20px rgba(0, 0, 0, 0.1);
}
.button-toggle:before, .button-toggle:after {
position: absolute;
content: "";
top: 50%;
left: 0;
width: 100%;
height: 2px;
background-color: #EC7263;
border-radius: 5px;
transition: 0.5s;
}
.button-toggle:before {
transform: translateY(-50%) rotate(45deg) scale(0);
}
.button-toggle:after {
transform: translateY(50%) rotate(-45deg) scale(0);
}
/* Menu */
.nav {
display: inline-block;
margin: 25px 25px 20px;
pointer-events: none;
transition: 0.5s;
}
.nav-item {
position: relative;
display: inline-block;
float: left;
clear: both;
color: transparent;
font-size: 14px;
letter-spacing: -6.2px;
height: 7px;
line-height: 7px;
text-transform: uppercase;
white-space: nowrap;
transform: scaleY(0.2);
transition: 0.5s, opacity 1s;
}
.nav-item:nth-child(1) {
transition-delay: 0s;
}
.nav-item:nth-child(1):before {
transition-delay: 0s;
}
.nav-item:nth-child(2) {
transition-delay: 0.05s;
}
.nav-item:nth-child(2):before {
transition-delay: 0.05s;
}
.nav-item:nth-child(3) {
transition-delay: 0.1s;
}
.nav-item:nth-child(3):before {
transition-delay: 0.1s;
}
.nav-item:nth-child(4) {
transition-delay: 0.15s;
}
.nav-item:nth-child(4):before {
transition-delay: 0.15s;
}
.nav-item:nth-child(1) {
letter-spacing: -8px;
}
.nav-item:nth-child(2) {
letter-spacing: -7px;
}
.nav-item:nth-child(n+4) {
letter-spacing: -8px;
margin-top: -7px;
opacity: 0;
}
.nav-item:before {
position: absolute;
content: "";
top: 50%;
left: 0;
width: 100%;
height: 2px;
background-color: #EC7263;
transform: translateY(-50%) scaleY(5);
transition: 0.5s;
}
/* Dummy Content */
.dummy-content {
position: relative;
text-align: center;
transition: 0.5s;
}
.dummy-content:before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: transparent;
z-index: 2;
transition: 0.5s;
}
.circle {
display: inline-block;
width: 75px;
height: 75px;
background-color: #EC7263;
border-radius: 100%;
}
.text {
margin: 15px 0 30px;
}
.text span {
display: inline-block;
height: 10px;
margin: 0 5px;
background-color: #C06162;
border-radius: 5px;
}
.text span:first-child {
width: 50px;
}
.text span:last-child {
width: 80px;
}
.square-top {
display: inline-block;
position: relative;
width: 200px;
height: 300px;
background-color: #FEBE7E;
z-index: 1;
}
.square-behind {
display: inline-block;
position: relative;
top: -256px;
width: 250px;
height: 210px;
background-color: #C28683;
}
.square-behind:before, .square-behind:after {
position: absolute;
content: "";
top: 0;
width: 40%;
height: 100%;
}
.square-behind:before {
left: 0;
background-color: #9D567C;
}
.square-behind:after {
right: 0;
background-color: #958C6B;
}
</style>
</head>
<body>
<div class="container">
<input id="toggle" type="checkbox">
<label class="toggle-container" for="toggle">
<span class="button button-toggle"></span>
</label>
<!-- The Nav Menu -->
<nav class="nav">
<a class="nav-item" href="">Dashboard</a>
<a class="nav-item" href="">History</a>
<a class="nav-item" href="">Statistics</a>
<a class="nav-item" href="">Settings</a>
</nav>
<!-- Dummy Content -->
<section class="dummy-content">
<div class="circle"></div>
<div class="text">
<span></span><span></span>
</div>
<div class="square-top"></div>
<div class="square-behind"></div>
</section>
</div>
</body>
</html>
3. By Ramnek Singh
Made by Ramnek Singh. Mobile menu with background color change effect. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<link rel="apple-touch-icon" type="image/png" href="https://cpwebassets.codepen.io/assets/favicon/apple-touch-icon-5ae1a0698dcc2402e9712f7d01ed509a57814f994c660df9f7a952f3060705ee.png" />
<meta name="apple-mobile-web-app-title" content="CodePen">
<link rel="shortcut icon" type="image/x-icon" href="https://cpwebassets.codepen.io/assets/favicon/favicon-aec34940fbc1a6e787974dcd360f2c6b63348d4b1f4e06c77743096d55480f33.ico" />
<link rel="mask-icon" type="image/x-icon" href="https://cpwebassets.codepen.io/assets/favicon/logo-pin-8f3771b1072e3c38bd662872f6b673a722f4b3ca2421637d5596661b4e2132cc.svg" color="#111" />
<title></title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<style>
*{
margin:0;
padding:0;
}
body{overflow: hidden;
padding:0;}
#body{
transition: background ease .5s;
position: absolute;
width:300vw;
height: 300vh;
top:0;
left:0;
background-color:rgb(97, 218, 157);
}
input{
display:none;
}
label.icons{
transition: transform ease .5s,color ease .5s;
font-size:25px;
position: absolute;
z-index: 3;
color:rgb(155, 143, 143);
left:50%;
top:50%;
transform: translate(-50%,-50%);
}
label.home{
transform: translate(-135px,-20px);
}
label.search{
transform: translate(-50px,-20px);
}
label.heart{
transform: translate(30px,-20px);
}
label.bell{
transform: translate(120px,-20px);
}
div#box{
z-index: 1;
width:350px;
height:100px;
background-color: white;
box-shadow:0px 1px 2px black;
position: absolute;
border-bottom-left-radius: 30px;
border-bottom-right-radius: 30px;
top:50%;
left:50%;
transform:translate(-50%,-50%);
border:1px solid white;
}
span.title{
transition: color.5s,transform .5s,opacity .5s;
font-size:13px;
position: absolute;
z-index: 2;
color:rgb(155, 143, 143);
left:50%;
top:50%;
transform: translate(-50%,-50%);
opacity: 0;
}
span.home{
transform: translate(-135px,28px);
}
span.search{
transform:translate(-50px,28px);
}
span.heart{
transform:translate(33px,28px);
}
span.bell{
transform:translate(98px,28px);
}
#one:checked~label.home{
transform: translate(-135px,-68px);
color:rgb(97, 218, 157);
}
#two:checked~label.search{
transform: translate(-48px,-64px);
color:rgb(236, 202, 47);
}
#three:checked~label.heart{
transform: translate(30px,-68px);
color:rgb(240, 78, 105);
}
#four:checked~label.bell{
transform: translate(120px,-68px);
color:rgb(58, 83, 224);
}
#one:checked~div#body{
background-color:rgb(97, 218, 157);
}
#two:checked~div#body{
background-color:rgb(236, 202, 47);
}
#three:checked~div#body{
background-color:rgb(240, 78, 105);
}
#four:checked~div#body{
background-color: rgb(58, 83, 224);
}
#one:checked~span.home{
color:rgb(97, 218, 157);
opacity:1;
transform: translate(-135px,0px);
}
#two:checked~span.search{
color:rgb(236, 202, 47);
opacity:1;
transform:translate(-50px,0px);
}
#three:checked~span.heart{
color:rgb(240, 78, 105);
opacity:1;
transform:translate(33px,0px);
}
#four:checked~span.bell{
color: rgb(58, 83, 224);
transform:translate(98px,0px);
opacity:1;
}
div.border{
position: absolute;
z-index: 2;
top:50%;
left:50%;
transform: translate(-50%,-50%);
border:6px solid rgb(97, 218, 157);
width:45px;
height: 45px;
background-color: white;
transition: border .5s,transform .5s,border-radius .3s;
}
div.fst{
transform:translate(-144px,-75px);
}
#one:checked~div.border{
border:6px solid rgb(97, 218, 157);
transform:translate(-144px,-75px);
border-radius: 0%;
}
#two:checked~div.border{
border:6px solid rgb(236, 202, 47);
transform:translate(-60px,-75px);
border-radius: 50%;
width:50px;
height: 50px;
}
#three:checked~div.border{
border:6px solid rgb(240, 78, 105);
transform:translate(22px,-75px) ;
transform-origin: center center;
outline-color: rgb(240, 78, 105);
border-radius: 0px 0px 50px 50px;
}
#four:checked~div.border{
border:6px solid rgb(58, 83, 224);
transform:translate(110px,-75px) ;
border-top-left-radius: 50%;
border-top-right-radius: 50%;
}
div.effect{
position: absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
span{
cursor:pointer
}
</style>
</head>
<body>
<body>
<input type="radio" id="one" name="buttons" checked>
<label for="one" class="icons home"><span class="glyphicon glyphicon-home"></span></label>
<input type="radio" id="two" name="buttons">
<label for="two" class="icons search"><span class="glyphicon glyphicon-search"></span></label>
<input type="radio" id="three" name="buttons">
<label for="three" class="icons heart"><span class="glyphicon glyphicon-heart"></span></label>
<input type="radio" id="four" name="buttons">
<label for="four" class="icons bell"><span class="glyphicon glyphicon-bell"></span></label>
<div id="box">
</div>
<div id="body"></div>
<span class="title home">Home</span>
<span class="title search">Search</span>
<span class="title heart">Likes</span>
<span class="title bell">Notifications</span>
<div class="border"></div>
<div class="effect"></div>
</body>
</html>
4. By Ricardo Oliva Alonso
Made by Ricardo Oliva Alonso. Gradient mobile menu. You get gradient effect on hover. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<style>
*,
*::before,
*::after{
margin: 0;
padding: 0;
box-sizing: border-box;
}
body{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 100%;
height: 100vh;
background-image: linear-gradient(45deg, #A973BC, #FFD1D1 , #FFE3D9);
}
.menu{
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
width: 200px;
height: 60px;
border-radius: 20px;
background-color: white;
box-shadow: 0 0 30px rgba(176, 113, 140, 0.35);
}
.menu__bg{
position: relative;
width: 35px;
height: 35px;
overflow: hidden;
background-color: #ddd6d9;
cursor: pointer;
}
.menu__bg:hover::before{
content: '';
position:absolute;
width: 200%;
height: 400%;
left: 0;
top: 0;
background-image: linear-gradient(45deg, #5B2A86, #DC6BAD , #FFE3D9);
animation: bg-1 1s infinite alternate;
}
.menu__bg:hover::after{
content: '';
position:absolute;
left: 0;
top: 0;
width: 15px;
height: 15px;
border-radius: 50%;
filter: blur(2px);
background-color: rgba(221, 214, 217, .7);
animation: bg-2 4s infinite ;
}
.menu__icon{
width: 100%;
height: 100%;
position: relative;
object-fit: contain;
z-index: 1000;
}
.big{
width: 50px;
height: 50px;
}
@keyframes bg-1 {
0%{ top: -300%; }
100%{ top: 0%; }
}
@keyframes bg-2 {
0%{ top: 20%; left: 20%}
25%{ top: 80%; left: 80%;}
50%{ top: 80%; left: 20%;}
75%{ top: 30%; left: 80%;}
}
@keyframes an {
0%{ width: 100%; height: 100%;}
100%{ width: 100%; height: 100%; }
}
</style>
</head>
<body>
<nav class="menu">
<div class="menu__bg">
<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBB%0D%0AZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u%0D%0AOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT%0D%0AVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzEx%0D%0ALmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv%0D%0Ac3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5%0D%0APSIwcHgiIHdpZHRoPSIzMHB4Ig0KCSBoZWlnaHQ9IjMwcHgiIHZpZXdCb3g9IjAgMCAzMCAzMCIg%0D%0AZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAgMzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0K%0D%0APGcgaWQ9IkNhcGFfMSIgZGlzcGxheT0ibm9uZSI+DQoJPGcgZGlzcGxheT0iaW5saW5lIj4NCgkJ%0D%0APGNpcmNsZSBmaWxsPSIjRkZGRkZGIiBjeD0iMTUiIGN5PSIxNSIgcj0iMi45MTciLz4NCgkJPHBh%0D%0AdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTAsMHYzMGgzMFYwSDB6IE0yMS4yNSwxNWMwLDAuMjc1LTAu%0D%0AMDI1LDAuNTQ2LTAuMDU5LDAuODEzbDEuNzU5LDEuMzc5YzAuMTU4LDAuMTMsMC4yMDQsMC4zNTQs%0D%0AMC4xLDAuNTMzDQoJCQlsLTEuNjY2LDIuODg5Yy0wLjEwNCwwLjE3OS0wLjMyMSwwLjI0OS0wLjUw%0D%0AOSwwLjE3OUwxOC44LDE5Ljk1NGMtMC40MjksMC4zMzMtMC44OTksMC42MDgtMS40MDgsMC44Mmwt%0D%0AMC4zMTMsMi4yMDkNCgkJCWMtMC4wMzMsMC4xOTUtMC4yMDQsMC4zNS0wLjQxMywwLjM1aC0zLjMz%0D%0AM2MtMC4yMDgsMC0wLjM3OS0wLjE1NC0wLjQxMy0wLjM1bC0wLjMxMy0yLjIwOWMtMC41MDgtMC4y%0D%0AMTItMC45NzktMC40OTEtMS40MDgtMC44Mg0KCQkJbC0yLjA3NSwwLjgzOGMtMC4xODgsMC4wNzUt%0D%0AMC40MDQsMC0wLjUwOC0wLjE3OUw2Ljk1LDE3LjcyNWMtMC4xMDQtMC4xODQtMC4wNTktMC40MDgs%0D%0AMC4xLTAuNTMzbDEuNzU5LTEuMzc5DQoJCQlDOC43NzUsMTUuNTQ2LDguNzUsMTUuMjc1LDguNzUs%0D%0AMTVjMC0wLjI3NSwwLjAyNS0wLjU0NiwwLjA1OS0wLjgxM0w3LjA1LDEyLjgwOGMtMC4xNTgtMC4x%0D%0AMjktMC4yMDQtMC4zNTQtMC4xLTAuNTMzbDEuNjY3LTIuODg4DQoJCQljMC4xMDQtMC4xNzksMC4z%0D%0AMjEtMC4yNSwwLjUwOC0wLjE3OWwyLjA3NSwwLjgzN2MwLjQyOS0wLjMzMywwLjktMC42MDgsMS40%0D%0AMDgtMC44MjFsMC4zMTMtMi4yMDgNCgkJCWMwLjAzMy0wLjE5NiwwLjIwNC0wLjM1LDAuNDEzLTAu%0D%0AMzVoMy4zMzNjMC4yMDksMCwwLjM4LDAuMTU0LDAuNDE3LDAuMzVsMC4zMTMsMi4yMDhjMC41MDks%0D%0AMC4yMTIsMC45NzksMC40OTIsMS40MDgsMC44MjENCgkJCWwyLjA3NS0wLjgzN2MwLjE4OC0wLjA3%0D%0ANSwwLjQwNCwwLDAuNTA5LDAuMTc5bDEuNjY3LDIuODg4YzAuMTA0LDAuMTg0LDAuMDU5LDAuNDA4%0D%0ALTAuMTAxLDAuNTMzbC0xLjc2MywxLjM3OQ0KCQkJQzIxLjIyNSwxNC40NTQsMjEuMjUsMTQuNzI1%0D%0ALDIxLjI1LDE1eiIvPg0KCTwvZz4NCjwvZz4NCjxnIGlkPSJDYXBhXzIiPg0KCTxwYXRoIGZpbGw9%0D%0AIiNGRkZGRkYiIGQ9Ik0wLDB2MzBoMzBWMEgweiBNMjAuODMzLDE1LjQxN3Y2LjY2NmgtNC4xNjZ2%0D%0ALTVoLTMuMzMzdjVIOS4xNjd2LTYuNjY2aC0yLjVMMTUsNy45MTdsOC4zMzMsNy41SDIwLjgzM3oi%0D%0ALz4NCjwvZz4NCjxnIGlkPSJDYXBhXzMiIGRpc3BsYXk9Im5vbmUiPg0KCTxnIGRpc3BsYXk9Imlu%0D%0AbGluZSI+DQoJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0xNSw3Yy00LjQxLDAtOCwzLjU5MS04%0D%0ALDhjMCw0LjQxMSwzLjU5LDgsOCw4YzQuNDEsMCw4LTMuNTg5LDgtOEMyMywxMC41OTEsMTkuNDEs%0D%0ANywxNSw3eiBNMjAsMTZoLTR2NGgtMg0KCQkJdi00aC00di0yaDR2LTRoMnY0aDRWMTZ6Ii8+DQoJ%0D%0ACTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDB2MzBoMzBWMEgweiBNMTUsMjVDOS40NzUsMjUs%0D%0ANSwyMC41MjUsNSwxNUM1LDkuNDc1LDkuNDc1LDUsMTUsNWM1LjUyNSwwLDEwLDQuNDc1LDEwLDEw%0D%0ADQoJCQlDMjUsMjAuNTI1LDIwLjUyNSwyNSwxNSwyNXoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4N%0D%0ACg==" alt="Icon" class="menu__icon">
</div>
<div class="menu__bg big">
<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBB%0D%0AZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u%0D%0AOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT%0D%0AVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzEx%0D%0ALmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv%0D%0Ac3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5%0D%0APSIwcHgiIHdpZHRoPSIzMHB4Ig0KCSBoZWlnaHQ9IjMwcHgiIHZpZXdCb3g9IjAgMCAzMCAzMCIg%0D%0AZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAgMzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0K%0D%0APGcgaWQ9IkNhcGFfMSIgZGlzcGxheT0ibm9uZSI+DQoJPGcgZGlzcGxheT0iaW5saW5lIj4NCgkJ%0D%0APGNpcmNsZSBmaWxsPSIjRkZGRkZGIiBjeD0iMTUiIGN5PSIxNSIgcj0iMi45MTciLz4NCgkJPHBh%0D%0AdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTAsMHYzMGgzMFYwSDB6IE0yMS4yNSwxNWMwLDAuMjc1LTAu%0D%0AMDI1LDAuNTQ2LTAuMDU5LDAuODEzbDEuNzU5LDEuMzc5YzAuMTU4LDAuMTMsMC4yMDQsMC4zNTQs%0D%0AMC4xLDAuNTMzDQoJCQlsLTEuNjY2LDIuODg5Yy0wLjEwNCwwLjE3OS0wLjMyMSwwLjI0OS0wLjUw%0D%0AOSwwLjE3OUwxOC44LDE5Ljk1NGMtMC40MjksMC4zMzMtMC44OTksMC42MDgtMS40MDgsMC44Mmwt%0D%0AMC4zMTMsMi4yMDkNCgkJCWMtMC4wMzMsMC4xOTUtMC4yMDQsMC4zNS0wLjQxMywwLjM1aC0zLjMz%0D%0AM2MtMC4yMDgsMC0wLjM3OS0wLjE1NC0wLjQxMy0wLjM1bC0wLjMxMy0yLjIwOWMtMC41MDgtMC4y%0D%0AMTItMC45NzktMC40OTEtMS40MDgtMC44Mg0KCQkJbC0yLjA3NSwwLjgzOGMtMC4xODgsMC4wNzUt%0D%0AMC40MDQsMC0wLjUwOC0wLjE3OUw2Ljk1LDE3LjcyNWMtMC4xMDQtMC4xODQtMC4wNTktMC40MDgs%0D%0AMC4xLTAuNTMzbDEuNzU5LTEuMzc5DQoJCQlDOC43NzUsMTUuNTQ2LDguNzUsMTUuMjc1LDguNzUs%0D%0AMTVjMC0wLjI3NSwwLjAyNS0wLjU0NiwwLjA1OS0wLjgxM0w3LjA1LDEyLjgwOGMtMC4xNTgtMC4x%0D%0AMjktMC4yMDQtMC4zNTQtMC4xLTAuNTMzbDEuNjY3LTIuODg4DQoJCQljMC4xMDQtMC4xNzksMC4z%0D%0AMjEtMC4yNSwwLjUwOC0wLjE3OWwyLjA3NSwwLjgzN2MwLjQyOS0wLjMzMywwLjktMC42MDgsMS40%0D%0AMDgtMC44MjFsMC4zMTMtMi4yMDgNCgkJCWMwLjAzMy0wLjE5NiwwLjIwNC0wLjM1LDAuNDEzLTAu%0D%0AMzVoMy4zMzNjMC4yMDksMCwwLjM4LDAuMTU0LDAuNDE3LDAuMzVsMC4zMTMsMi4yMDhjMC41MDks%0D%0AMC4yMTIsMC45NzksMC40OTIsMS40MDgsMC44MjENCgkJCWwyLjA3NS0wLjgzN2MwLjE4OC0wLjA3%0D%0ANSwwLjQwNCwwLDAuNTA5LDAuMTc5bDEuNjY3LDIuODg4YzAuMTA0LDAuMTg0LDAuMDU5LDAuNDA4%0D%0ALTAuMTAxLDAuNTMzbC0xLjc2MywxLjM3OQ0KCQkJQzIxLjIyNSwxNC40NTQsMjEuMjUsMTQuNzI1%0D%0ALDIxLjI1LDE1eiIvPg0KCTwvZz4NCjwvZz4NCjxnIGlkPSJDYXBhXzIiIGRpc3BsYXk9Im5vbmUi%0D%0APg0KCTxwYXRoIGRpc3BsYXk9ImlubGluZSIgZmlsbD0iI0ZGRkZGRiIgZD0iTTAsMHYzMGgzMFYw%0D%0ASDB6IE0yMC44MzMsMTUuNDE3djYuNjY2aC00LjE2NnYtNWgtMy4zMzN2NUg5LjE2N3YtNi42NjZo%0D%0ALTIuNUwxNSw3LjkxNw0KCQlsOC4zMzMsNy41SDIwLjgzM3oiLz4NCjwvZz4NCjxnIGlkPSJDYXBh%0D%0AXzMiPg0KCTxnPg0KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTUuMDgzLDcuMDAxQzEwLjY3%0D%0AMiw2Ljk1Niw3LjA0NSwxMC41MSw3LDE0LjkxOXMzLjUxLDguMDM2LDcuOTE4LDguMDgxDQoJCQlj%0D%0ANC40MSwwLjA0NSw4LjAzNS0zLjUwOSw4LjA4LTcuOTE5QzIzLjA0MywxMC42NzMsMTkuNDkyLDcu%0D%0AMDQ2LDE1LjA4Myw3LjAwMXogTTE4LjUsMTUuN2gtMi44djIuOEgxNC4zdi0yLjhoLTIuOFYxNC4z%0D%0AaDIuOHYtMi44DQoJCQlIMTUuN3YyLjhoMi44VjE1Ljd6Ii8+DQoJCTxwYXRoIGZpbGw9IiNGRkZG%0D%0ARkYiIGQ9Ik0wLDB2MzBoMzBWMEgweiBNMTUsMjVDOS40NzUsMjUsNSwyMC41MjUsNSwxNUM1LDku%0D%0ANDc2LDkuNDc1LDUsMTUsNWM1LjUyNSwwLDEwLDQuNDc2LDEwLDEwDQoJCQlDMjUsMjAuNTI1LDIw%0D%0ALjUyNSwyNSwxNSwyNXoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==" alt="Icon" class="menu__icon big">
</div>
<div class="menu__bg">
<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBB%0D%0AZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9u%0D%0AOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT%0D%0AVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzEx%0D%0ALmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv%0D%0Ac3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5%0D%0APSIwcHgiIHdpZHRoPSIzMHB4Ig0KCSBoZWlnaHQ9IjMwcHgiIHZpZXdCb3g9IjAgMCAzMCAzMCIg%0D%0AZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzAgMzAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0K%0D%0APGcgaWQ9IkNhcGFfMSI+DQoJPGc+DQoJCTxjaXJjbGUgZmlsbD0iI0ZGRkZGRiIgY3g9IjE1IiBj%0D%0AeT0iMTUiIHI9IjIuOTE3Ii8+DQoJCTxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDB2MzBoMzBW%0D%0AMEgweiBNMjEuMjUsMTVjMCwwLjI3NS0wLjAyNSwwLjU0Ni0wLjA1OSwwLjgxM2wxLjc1OSwxLjM3%0D%0AOWMwLjE1OCwwLjEzLDAuMjA0LDAuMzU0LDAuMSwwLjUzMw0KCQkJbC0xLjY2NiwyLjg4OWMtMC4x%0D%0AMDQsMC4xNzktMC4zMjEsMC4yNDktMC41MDksMC4xNzlMMTguOCwxOS45NTRjLTAuNDI5LDAuMzMz%0D%0ALTAuODk5LDAuNjA4LTEuNDA4LDAuODJsLTAuMzEzLDIuMjA5DQoJCQljLTAuMDMzLDAuMTk1LTAu%0D%0AMjA0LDAuMzUtMC40MTMsMC4zNWgtMy4zMzNjLTAuMjA4LDAtMC4zNzktMC4xNTQtMC40MTMtMC4z%0D%0ANWwtMC4zMTMtMi4yMDljLTAuNTA4LTAuMjEyLTAuOTc5LTAuNDkxLTEuNDA4LTAuODINCgkJCWwt%0D%0AMi4wNzUsMC44MzhjLTAuMTg4LDAuMDc1LTAuNDA0LDAtMC41MDgtMC4xNzlMNi45NSwxNy43MjVj%0D%0ALTAuMTA0LTAuMTg0LTAuMDU5LTAuNDA4LDAuMS0wLjUzM2wxLjc1OS0xLjM3OQ0KCQkJQzguNzc1%0D%0ALDE1LjU0Niw4Ljc1LDE1LjI3NSw4Ljc1LDE1YzAtMC4yNzUsMC4wMjUtMC41NDYsMC4wNTktMC44%0D%0AMTNMNy4wNSwxMi44MDhjLTAuMTU4LTAuMTI5LTAuMjA0LTAuMzU0LTAuMS0wLjUzM2wxLjY2Ny0y%0D%0ALjg4OA0KCQkJYzAuMTA0LTAuMTc5LDAuMzIxLTAuMjUsMC41MDgtMC4xNzlsMi4wNzUsMC44Mzdj%0D%0AMC40MjktMC4zMzMsMC45LTAuNjA4LDEuNDA4LTAuODIxbDAuMzEzLTIuMjA4DQoJCQljMC4wMzMt%0D%0AMC4xOTYsMC4yMDQtMC4zNSwwLjQxMy0wLjM1aDMuMzMzYzAuMjA5LDAsMC4zOCwwLjE1NCwwLjQx%0D%0ANywwLjM1bDAuMzEzLDIuMjA4YzAuNTA5LDAuMjEyLDAuOTc5LDAuNDkyLDEuNDA4LDAuODIxDQoJ%0D%0ACQlsMi4wNzUtMC44MzdjMC4xODgtMC4wNzUsMC40MDQsMCwwLjUwOSwwLjE3OWwxLjY2NywyLjg4%0D%0AOGMwLjEwNCwwLjE4NCwwLjA1OSwwLjQwOC0wLjEwMSwwLjUzM2wtMS43NjMsMS4zNzkNCgkJCUMy%0D%0AMS4yMjUsMTQuNDU0LDIxLjI1LDE0LjcyNSwyMS4yNSwxNXoiLz4NCgk8L2c+DQo8L2c+DQo8ZyBp%0D%0AZD0iQ2FwYV8yIiBkaXNwbGF5PSJub25lIj4NCgk8cGF0aCBkaXNwbGF5PSJpbmxpbmUiIGZpbGw9%0D%0AIiNGRkZGRkYiIGQ9Ik0wLDB2MzBoMzBWMEgweiBNMjAuODMzLDE1LjQxN3Y2LjY2NmgtNC4xNjZ2%0D%0ALTVoLTMuMzMzdjVIOS4xNjd2LTYuNjY2aC0yLjVMMTUsNy45MTcNCgkJbDguMzMzLDcuNUgyMC44%0D%0AMzN6Ii8+DQo8L2c+DQo8ZyBpZD0iQ2FwYV8zIiBkaXNwbGF5PSJub25lIj4NCgk8ZyBkaXNwbGF5%0D%0APSJpbmxpbmUiPg0KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTUsN2MtNC40MSwwLTgsMy41%0D%0AOTEtOCw4YzAsNC40MTEsMy41OSw4LDgsOGM0LjQxLDAsOC0zLjU4OSw4LThDMjMsMTAuNTkxLDE5%0D%0ALjQxLDcsMTUsN3ogTTIwLDE2aC00djRoLTINCgkJCXYtNGgtNHYtMmg0di00aDJ2NGg0VjE2eiIv%0D%0APg0KCQk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMCwwdjMwaDMwVjBIMHogTTE1LDI1QzkuNDc1%0D%0ALDI1LDUsMjAuNTI1LDUsMTVDNSw5LjQ3NSw5LjQ3NSw1LDE1LDVjNS41MjUsMCwxMCw0LjQ3NSwx%0D%0AMCwxMA0KCQkJQzI1LDIwLjUyNSwyMC41MjUsMjUsMTUsMjV6Ii8+DQoJPC9nPg0KPC9nPg0KPC9z%0D%0Admc+DQo=" alt="Icon" class="menu__icon">
</div>
</nav>
</body>
</html>
5. By Simone Pizzamiglio
Made by Simone Pizzamiglio. Burger Mobile Menu. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<style>
.mobile-menu {
position: fixed;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 16px;
top: 0;
background-color: #27ae60;
left: 0;
right: 0;
height: 50px;
z-index: 9999999;
}
.mobile-menu__btn {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 35px;
height: 30px;
cursor: pointer;
transition: 0.4s;
}
.mobile-menu__icon {
display: block;
position: relative;
background: white;
width: 90%;
height: 4px;
transition: 0.4s;
}
.mobile-menu__icon::after, .mobile-menu__icon::before {
content: "";
display: block;
position: absolute;
background: white;
width: 100%;
height: 4px;
transition: 0.4s;
}
.mobile-menu__icon::after {
top: 8px;
}
.mobile-menu__icon::before {
top: -8px;
}
.mobile-menu__container {
position: fixed;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
top: 50px;
left: 0;
right: 0;
z-index: 999;
height: 0;
opacity: 1;
transition: 0.5s;
transition-delay: 0.2s;
overflow: hidden;
background-color: #27ae60;
}
.mobile-menu__list {
transition: 0.5s;
transition-delay: 0.5s;
list-style: none;
padding-left: 0;
margin-top: -50px;
}
.mobile-menu__item {
font-size: 26px;
padding-bottom: 15px;
}
.mobile-menu__link {
text-decoration: none;
color: #fff;
}
.mobile-menu__checkbox {
display: none;
}
.mobile-menu__checkbox:checked ~ .mobile-menu__nav {
opacity: 1;
transition-delay: 0s;
}
.mobile-menu__checkbox:checked ~ .mobile-menu__container {
height: 100%;
transition-delay: 0s;
}
.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon {
background: transparent;
}
.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::before, .mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::after {
top: 0;
}
.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::after {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.mobile-menu__checkbox:checked ~ .mobile-menu__btn .mobile-menu__icon::before {
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
</style>
</head>
<body>
<nav class="mobile-menu">
<input type="checkbox" id="checkbox" class="mobile-menu__checkbox">
<label for="checkbox" class="mobile-menu__btn"><div class="mobile-menu__icon"></div></label>
<div class="mobile-menu__container">
<ul class="mobile-menu__list">
<li class="mobile-menu__item"><a href="#" class="mobile-menu__link">Home</a></li>
<li class="mobile-menu__item"><a href="#" class="mobile-menu__link">About us</a></li>
<li class="mobile-menu__item"><a href="#" class="mobile-menu__link">Work</a></li>
<li class="mobile-menu__item"><a href="#" class="mobile-menu__link">Contacts</a></li>
</ul>
</div>
</nav>
</body>
</html>
6. By Daniel Hearn
Made by Daniel Hearn. Basic Mobile Menu Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<style>
body {
background: #87cc77;
margin: 0;
font-family: arial;
width: 100vw;
height: 100vh;
animation: bugfix infinite 1s;
-webkit-animation: bugfix infinite 1s;
}
@keyframes bugfix {
from {
padding: 0;
}
to {
padding: 0;
}
}
@-webkit-keyframes bugfix {
from {
padding: 0;
}
to {
padding: 0;
}
}
#overlay-button {
position: absolute;
right: 2em;
top: 3em;
padding: 26px 11px;
z-index: 5;
cursor: pointer;
user-select: none;
}
#overlay-button span {
height: 4px;
width: 35px;
border-radius: 2px;
background-color: white;
position: relative;
display: block;
transition: all 0.2s ease-in-out;
}
#overlay-button span:before {
top: -10px;
visibility: visible;
}
#overlay-button span:after {
top: 10px;
}
#overlay-button span:before, #overlay-button span:after {
height: 4px;
width: 35px;
border-radius: 2px;
background-color: white;
position: absolute;
content: "";
transition: all 0.2s ease-in-out;
}
#overlay-button:hover span, #overlay-button:hover span:before, #overlay-button:hover span:after {
background: #333332;
}
input[type=checkbox] {
display: none;
}
input[type=checkbox]:checked ~ #overlay {
visibility: visible;
}
input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
background: transparent;
}
input[type=checkbox]:checked ~ #overlay-button span:before {
transform: rotate(45deg) translate(7px, 7px);
opacity: 1;
}
input[type=checkbox]:checked ~ #overlay-button span:after {
transform: rotate(-45deg) translate(7px, -7px);
}
#overlay {
height: 100vh;
width: 100vw;
background: #ec6451;
z-index: 2;
visibility: hidden;
position: fixed;
}
#overlay.active {
visibility: visible;
}
#overlay ul {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
height: 100vh;
padding-left: 0;
list-style-type: none;
}
#overlay ul li {
padding: 1em;
}
#overlay ul li a {
color: white;
text-decoration: none;
font-size: 1.5em;
}
#overlay ul li a:hover {
color: #333332;
}
</style>
</head>
<body>
<input type="checkbox" id="overlay-input" />
<label for="overlay-input" id="overlay-button"><span></span></label>
<div id="overlay">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</body>
</html>
7. By Mark E. Carter
Made by Mark E. Carter. Source
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
<style>
@font-face {
font-family: 'News Cycle';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/newscycle/v22/CSR64z1Qlv-GDxkbKVQ_fOAKSA.ttf) format('truetype');
}
@font-face {
font-family: 'News Cycle';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/newscycle/v22/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevA.ttf) format('truetype');
}
html,
body {
height: 100%;
}
body {
background: #d4e8f8;
color: #444;
font-family: 'News Cycle';
overflow-x: hidden;
}
#nav-toggle {
position: absolute;
left: -9999px;
}
nav {
position: fixed;
top: 0;
left: -80%;
width: 80%;
height: 100%;
background: #222;
transition: transform 0.5s;
}
nav #toggle {
display: block;
position: absolute;
top: 0;
right: -40px;
width: 40px;
height: 40px;
background: #333;
color: #fff;
text-align: center;
line-height: 36px;
font-size: 18px;
cursor: pointer;
transition: background 0.5s, right 0.5s;
}
nav #toggle:before {
content: '\2630';
}
nav #toggle:hover {
background: #169;
}
nav ul {
height: 100%;
border-right: 40px solid #333;
}
nav ul li {
font-size: 28px;
text-transform: uppercase;
background: #444;
border-top: 1px solid #555;
border-bottom: 1px solid #333;
}
nav ul li a {
display: block;
padding: 20px 30px;
color: #fff;
text-decoration: none;
}
nav ul li:hover {
background: #555;
border-top: 1px solid #666;
}
#nav-toggle:checked ~ nav {
transform: translate3d(100%, 0, 0);
}
#nav-toggle:checked ~ nav #toggle {
right: 0;
font-size: 28px;
}
#nav-toggle:checked ~ nav #toggle:before {
content: '\00D7';
}
#nav-toggle:checked ~ nav ~ #main {
transform: translate3d(90%, 0, 0);
}
#main {
width: 75%;
margin: 0 auto;
padding: 40px 5%;
transition: transform 0.5s;
}
h1 {
font-weight: bold;
font-size: 48px;
margin-bottom: 8px;
color: #333;
text-shadow: 1px 1px 0 #fff;
}
p {
margin-bottom: 20px;
}
</style>
</head>
<body>
<input type="checkbox" id="nav-toggle">
<nav>
<label for="nav-toggle" id="toggle"></label>
<ul>
<li><a href="#">Search</a></li>
<li><a href="#">Info</a></li>
<li><a href="#">Feed</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<div id="main">
<h1>Pure CSS Mobile Menu</h1>
<p>Using only CSS, we have mobile menu</p>
</div>
</body>
</html>