JSFiddle - React, Tailwind, and code Playground

by Tan

HTML

<div class="parallax">
  <div class="parallax__group">
    <div class="parallax__layer parallax__layer--back">
    123
    </div>
    <div class="parallax__layer parallax__layer--base">
     456
    </div>
  </div>
  <div class="parallax__group">
    789
  </div>
</div>

CSS

.parallax {
  perspective: 1px;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}
.parallax__layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.parallax__layer--base {
  transform: translateZ(0);
}
.parallax__layer--back {
  transform: translateZ(-1px) scale(2);
}
.parallax__group {
  position: relative;
  height: 100px;
  transform-style: preserve-3d;
}