0

0

实现鼠标悬停卡片3D视差效果及恢复初始位置

花韻仙語

花韻仙語

发布时间:2025-08-21 19:36:36

|

615人浏览过

|

来源于php中文网

原创

实现鼠标悬停卡片3d视差效果及恢复初始位置

本文将指导你如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出卡片时使其平滑地恢复到初始位置。我们将详细讲解实现步骤,并提供完整的代码示例,帮助你轻松掌握该效果的实现方法。

实现步骤

要实现鼠标悬停卡片3D视差效果,并使其在鼠标移出后恢复到初始位置,需要以下步骤:

  1. HTML结构: 创建包含卡片内容的HTML结构。
  2. CSS样式: 设置卡片的初始样式,例如宽度。
  3. JavaScript交互: 使用JavaScript监听鼠标移动事件和鼠标移出事件,并根据鼠标位置动态改变卡片的旋转角度。

详细实现

1. HTML结构

首先,创建一个包含卡片内容的HTML结构。这里使用一个 div 元素作为卡片容器,并在其中包含一个 img 元素作为卡片内容。

@@##@@

2. CSS样式

为了使卡片能够正确显示,并且能够自适应内容宽度,我们需要设置一些CSS样式。 关键是设置 width: fit-content。

.card-active {
  width: fit-content;
}

3. JavaScript交互

英特尔AI工具
英特尔AI工具

英特尔AI与机器学习解决方案

下载

接下来,使用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代码示例:




  3D Parallax Card
  



  
@@##@@

注意事项

  • 可以调整 mousemove 事件中的除数(例如,30),来控制视差效果的强度。 数值越小,视差效果越明显。
  • 可以添加CSS过渡效果,使卡片旋转和恢复过程更加平滑。 例如,在 .card-active 类中添加 transition: transform 0.3s ease;。
  • 如果卡片内容比较复杂,可能会影响性能。 可以考虑使用 requestAnimationFrame 来优化动画效果。

总结

通过本文的教程,你学会了如何使用JavaScript和CSS创建一个具有3D视差效果的卡片,并在鼠标移出时使其恢复到初始位置。这个效果可以为你的网页增加一些交互性和视觉吸引力。 记住,理解代码背后的逻辑是关键,这样你才能根据自己的需求进行修改和扩展。

实现鼠标悬停卡片3D视差效果及恢复初始位置实现鼠标悬停卡片3D视差效果及恢复初始位置

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
css3transition
css3transition

css3transition属性用于指定如何从一个CSS样式过渡到另一个CSS样式,本专题为大家提供transition相关的文章、相关下载和相关课程,大家可以免费体验。

231

2023.06.27

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 25.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号