<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<div class="menu-btn">
<i class="fa fa-bars" aria-hidden="true"></i>
</div>
<div class="menu">
<div class="menu__item">TOP</div>
<div class="menu__item">ABOUT</div>
<div class="menu__item">BLOG</div>
<div class="menu__item">CONTACT</div>
</div>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
</body>
</html>
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn{
position: fixed;
top: 20px;
right: 20px;
z-index: 2;
width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
background: #333;
color: #fff;
}
/*----------------------------
* メニュー本体
*----------------------------*/
.menu{
position: fixed;
top: 0;
right: 0;
z-index: 1;
width: 100vw;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #555;
}
.menu__item{
width: 100%;
height: auto;
padding: .5em 1em;
text-align: center;
color: #fff;
box-sizing: border-box;
}
/*----------------------------
* アニメーション部分
*----------------------------*/
/* アニメーション前のメニューの状態 */
.menu{
transform-origin: top left;
transform: rotateZ(-90deg);
transition: all .3s ease;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
transform: rotateZ(0deg);
}
$(function(){
$('.menu-btn').on('click', function(){
$('.menu').toggleClass('is-active');
});
}());
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.