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)");
  });
});