JSFiddle - React, Tailwind, and code Playground
by Arnaud
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="main-container">
<div class="page-container">
<div class="page" id="page1"></div>
<div class="page" id="page2"></div>
<div class="page" id="page3"></div>
</div>
</div>
CSS
body{
background-color: rgb(52,52,30);
min-height:3000px;
}
.page-container{
position: fixed;
}
.page{
background-color:white;
border:2px solid lightgray;
width:85px;
height:120px;
position:absolute;
top:20px;
left:60px;
transform-origin:bottom center -30px;
transition-duration: 0.3s;
}
#page1{
transform: rotate(-5deg);
}
#page3{
transform: rotate(5deg);
}
.data-container{
position: absolute;
right:30px;
}
.data{
background-image: url("https://i.stack.imgur.com/HwX2l.png");
width:370px;
height:283px;
}
JavaScript
$(document).ready(function(){
$(document).scroll(function(){
var scrollHeight = $(document).height();
var varScrollTop = $(document).scrollTop();
var maxRotate = 30;
var rotateVal = 5 + ((varScrollTop * maxRotate ) / scrollHeight);
$("#page1").css("transform", "translateY(-"+(rotateVal)+"px)");
$("#page3").css("transform", "translateY("+(rotateVal)+"px)");
});
});