JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="page">
<a href="#menu">Open</a>
<div class="menu" id="menu">
<ul>
<li><a href="#close">Close</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
<li><a href="#">Lorem ipsum.</a></li>
</ul>
</div>
</div>
</body>
</html>
CSS
.menu {
right: 0;
padding: 20px;
box-sizing: border-box;
transform: translateX(100%);
position: fixed;
overflow-y: auto;
top: 0;
bottom: 0;
background-color: #CCC;
height: 100vh;
width: 400px;
transition: transform .2s;
}
.menu:target {
transform: translateX(0);
}
.menu ul {
margin: 0;
padding: 0;
list-style: none;
}
.menu ul li {
display: block;
}
.menu ul li a {
display: block;
padding: 10px 5px;
color: #000;
text-decoration: none;
}
[href="#close"] {
font-size: 2em;
}