
本文将指导你如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出卡片时使其平滑地恢复到初始位置。我们将详细讲解实现步骤,并提供完整的代码示例,帮助你轻松掌握该效果的实现方法。
要实现鼠标悬停卡片3D视差效果,并使其在鼠标移出后恢复到初始位置,需要以下步骤:
1. HTML结构
首先,创建一个包含卡片内容的HTML结构。这里使用一个 div 元素作为卡片容器,并在其中包含一个 img 元素作为卡片内容。
<div class="card-active"> <img src="https://placekitten.com/200/300"> </div>
2. CSS样式
为了使卡片能够正确显示,并且能够自适应内容宽度,我们需要设置一些CSS样式。 关键是设置 width: fit-content。
.card-active {
width: fit-content;
}3. JavaScript交互
接下来,使用JavaScript来实现鼠标悬停时的3D视差效果,并在鼠标移出时恢复到初始位置。
let cardParallx = document.querySelector('.card-active');
cardParallx.addEventListener('mousemove',(e)=>{
let x =(window.innerWidth/2 - e.pageX)/30;
let y =(window.innerHeight/2 - e.pageY)/30;
cardParallx.style.transform =`rotateX(${-y}deg) rotateY(${-x}deg)`;
});
cardParallx.addEventListener('mouseout', (e) => {
let x =(window.innerWidth/2 - e.pageX)/30;
let y =(window.innerHeight/2 - e.pageY)/30;
cardParallx.style.transform =`rotateX(0) rotateY(0)`;
});这段代码首先获取了卡片元素。然后,它监听了 mousemove 事件,当鼠标在卡片上移动时,根据鼠标的位置计算出旋转角度,并使用 transform 属性来旋转卡片。
为了实现鼠标移出后恢复到初始位置,我们监听了 mouseout 事件,当鼠标移出卡片时,将旋转角度设置为 rotateX(0) rotateY(0),从而使卡片恢复到初始状态。
以下是完整的HTML、CSS和JavaScript代码示例:
<!DOCTYPE html>
<html>
<head>
<title>3D Parallax Card</title>
<style>
.card-active {
width: fit-content;
}
</style>
</head>
<body>
<div class="card-active">
<img src="https://placekitten.com/200/300">
</div>
<script>
let cardParallx = document.querySelector('.card-active');
cardParallx.addEventListener('mousemove',(e)=>{
let x =(window.innerWidth/2 - e.pageX)/30;
let y =(window.innerHeight/2 - e.pageY)/30;
cardParallx.style.transform =`rotateX(${-y}deg) rotateY(${-x}deg)`;
});
cardParallx.addEventListener('mouseout', (e) => {
let x =(window.innerWidth/2 - e.pageX)/30;
let y =(window.innerHeight/2 - e.pageY)/30;
cardParallx.style.transform =`rotateX(0) rotateY(0)`;
});
</script>
</body>
</html>通过本文的教程,你学会了如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出时使其恢复到初始位置。这个效果可以为你的网页增加一些交互性和视觉吸引力。 记住,理解代码背后的逻辑是关键,这样你才能根据自己的需求进行修改和扩展。
以上就是实现鼠标悬停卡片3D视差效果及恢复初始位置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号