<div class="plus-btn-pos">
<div class="plus-btn">
<div class="r1"></div>
<div class="r2"></div>
</div>
</div>
<div class="content">
<div>
<h1>
Fullscreen Menu
</h1>
<h2>
Flexbox Style
</h2>
</div>
</div>
<div class="menu-container">
<div class="menu-sliders"></div>
<div class="menu-sliders"></div>
<div class="menu-sliders"></div>
<div class="menu">
<ul>
<li>
<a>Home</a>
</li>
<li>
<a>About </a>
</li>
<li>
<a>Work</a>
</li>
<li>
<a>Content</a>
</li>
</ul>
</div>
</div>
@import url(https://fonts.googleapis.com/css?family=Roboto:300,100);
.content {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
position: absolute;
height: 100vh;
width: 100vw;
z-index: 1;
text-align: center;
font-family: 'Roboto', sans-serif;
color: black;
}
.content h1 {
font-size: 60px;
margin-bottom: 15px;
font-weight: 300;
}
.content h2 {
font-size: 42px;
font-weight: 100;
}
.menu-container {
z-index: 2;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: stretch;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
overflow: hidden;
height: 100vh;
width: 100vw;
pointer-events: none;
}
.menu {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
position: absolute;
height: 100vh;
width: 100vw;
z-index: 3;
top: 0;
left: 0;
right: 0;
bottom: 0;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: -webkit-transform 0.5s;
transition: -webkit-transform 0.5s;
transition: transform 0.5s;
transition: transform 0.5s, -webkit-transform 0.5s;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
visibility: hidden;
}
.menu ul li {
font-family: 'Roboto', sans-serif;
font-weight: 100;
font-size: 45px;
color: white;
min-height: 45px;
padding: 15px;
text-align: center;
}
.menu-sliders {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-transition: -webkit-box-flex 0.45s, -webkit-flex 0.45s;
transition: -webkit-box-flex 0.45s, -webkit-flex 0.45s;
transition: flex 0.45s;
transition: flex 0.45s, -webkit-box-flex 0.45s, -webkit-flex 0.45s, -ms-flex 0.45s;
}
.menu-sliders:nth-child(2) {
-webkit-box-flex: 1;
-webkit-flex: 1 0 100%;
-ms-flex: 1 0 100%;
flex: 1 0 100%;
background: transparent;
}
.menu-sliders:nth-child(odd) {
background: #005db7;
}
.plus-btn-pos {
position: absolute;
top: 20px;
right: 20px;
z-index: 5;
}
.plus-btn {
width: 40px;
height: 40px;
border-radius: 40px;
background: white;
position: relative;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
.plus-btn div {
position: absolute;
top: 50%;
left: 50%;
width: 16px;
height: 3px;
background: #0259a5;
-webkit-transition: -webkit-transform 0.3s;
transition: -webkit-transform 0.3s;
transition: transform 0.3s;
transition: transform 0.3s, -webkit-transform 0.3s;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.plus-btn .r1 {
-webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
.plus-btn .r2 {
-webkit-transform: translateX(-50%) translateY(-50%) rotate(-180deg);
transform: translateX(-50%) translateY(-50%) rotate(-180deg);
}
body.menu-open .menu-sliders:nth-child(2) {
-webkit-box-flex: 0;
-webkit-flex: 0 0 0%;
-ms-flex: 0 0 0%;
flex: 0 0 0%;
}
body.menu-open .menu {
-webkit-transform: translateY(0%);
transform: translateY(0%);
visibility: visible;
pointer-events: all;
}
body.menu-open .plus-btn .r1 {
-webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
body.menu-open .plus-btn .r2 {
-webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
$('.plus-btn').click(function(){
$('body').toggleClass('menu-open');
})
This Pen doesn't use any external CSS resources.