JSFiddle - React, Tailwind, and code Playground
by CJ Juarez
HTML
<nav>
<a href="#page-1">Page 1</a>
<a href="#page-2">Page 2</a>
<a href="#page-3">Page 3</a>
</nav>
<div class="page" id="page-1">
<h1>Page-1</h1>
</div>
<div class="page" id="page-2">
<h1>Page-2</h1>
</div>
<div class="page" id="page-3">
<h1>Page-3</h1>
</div>
CSS
@keyframes slideInUp {
0% {
transform: translateY(100%);
}
100% {
transform: translateY(0);
}
}
@keyframes slideOutUp {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-100%);
}
}
body{
font: 16px/1.5 'Lato', Arial, sans-serif;
background: #3498db;
color: #ffffff;
}
h1{
position: absolute;
top: 50%;
left: 50%;
font-size: 50px;
font-weight: 300;
text-align: center;
transform: translate(-50%, -50%);
}
nav {
position: relative;
text-align: center;
z-index: 999;
}
nav a {
padding: 5px 15px;
color: #3498db;
font-size: 19px;
text-decoration: none;
background: #ecf0f1;
border: 2px solid #ecf0f1;
border-radius: 2px;
}
.page {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0s .5s;
animation: slideOutUp .5s ease-in-out forwards;
}
.page:target {
opacity: 1;
transition-delay: 0s;
animation: slideInUp .5s ease-in-out forwards;
}
#page-1 {
background: yellowgreen;
}
#page-2 {
background: orange;
}
#page-3 {
background: pink;
}