like this example
html code
const container = document.querySelector(".container");
const card = document.querySelector(".card");
container.addEventListener("mousemove", (e) => {
let xAxis = (window.innerWidth / 2 - e.pageX) / 25;
let yAxis = (window.innerHeight / 2 - e.pageY) / 25;
card.style.transform = `rotateY(${xAxis}deg) rotateX(${yAxis}deg)`;
});
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Poppins", sans-serif;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
perspective: 1000px;
}
.container {
width: 50%;
display: flex;
justify-content: center;
align-items: center;
}
.card {
transform-style: preserve-3d;
min-height: 60vh;
width: 500px;
border-radius: 30px;
padding: 0rem 5rem;
box-shadow: 0 20px 20px rgba(0, 0, 0, 0.2), 0px 0px 50px rgba(0, 0, 0, 0.2);
}
<div class="container">
<div class="card">
<h1 style="margin: 40px 40px;">Sample Text
<h1>
</div>
</div>