新闻中心

如何通过css实现卡片旋转动画

2025-10-15
浏览次数:
返回列表
答案:通过CSS的transform和transition属性结合:hover或@keyframes实现卡片旋转动画。1. 悬停翻转利用perspective、transform-style: preserve-3d和backface-visibility实现3D翻牌效果;2. 自动旋转使用@keyframes定义rotate动画,配合animation属性让卡片持续绕轴转动,适用于加载提示或展示场景。

如何通过css实现卡片旋转动画

通过CSS实现卡片旋转动画,关键在于使用transformtransition属性,配合:hover伪类或@keyframes动画。下面介绍两种常见方式:悬停翻转和自动旋转。

1. 悬停翻转效果(类似翻牌)

创建一个正面和背面不同的卡片,鼠标悬停时沿Y轴翻转180度。

HTML结构:


  
    正面内容
    背面内容
  

CSS样式:

.card {
  width: 200px;
  height: 300px;
  perspective: 1000px; /* 提供3D透视感 */
}

.card-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d; / 保持子元素3D空间 /
  transition: transform 0.6s ease;
}

.card:hover .card-inner {
  transform: rotateY(180deg); / 悬停时翻转 /
}

.card-front, .card-back {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden; / 背面不可见时隐藏 /
}

.card-front {
  background-color: #3498db;
  color: white;
}

.card-back {
  background-color: #e74c3c;
  color: white;
  transform: rotateY(180deg); / 初始状态背面朝后 /
}

2. 自动持续旋转动画

让卡片持续绕Z轴或Y轴旋转,适合加载动画或展示用途。

纯CSS实现图片美化带边框3D效果鼠标经过旋转堆叠特效动画 纯CSS实现图片美化带边框3D效果鼠标经过旋转堆叠特效动画

纯CSS实现图片美化带边框3D效果鼠标经过旋转堆叠特效动画

纯CSS实现图片美化带边框3D效果鼠标经过旋转堆叠特效动画 70 查看详情 纯CSS实现图片美化带边框3D效果鼠标经过旋转堆叠特效动画 .rotating-card {
  width: 150px;
  height: 150px;
  background-color: #2ecc71;
  margin: 50px auto;
  animation: spin 2s linear infinite; /* 循环播放 */
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

rotate改为rotateXrotateY可实现不同轴向的旋转。

关键点说明

perspective:定义3D变换的视觉距离,值越小透视感越强。
transform-style: preserve-3d:确保子元素在3D空间中渲染。
backface-visibility: hidden:避免翻转时看到元素背面内容。
transition:控制翻转动画的缓动和持续时间。
@keyframes:定义复杂旋转路径,比如从0到360度循环。

基本上就这些,不复杂但容易忽略细节。

以上就是如何通过css实现卡片旋转动画的详细内容,更多请关注其它相关文章!


# 中文网  # 口碑掌柜 营销推广退款  # 网站优化的关键词分析  # 怎样练习优化网站  # 完善简历网站推广  # seo推荐看什么书籍  # 新站seo优化推广  # 民宿营销推广经典案例  # 竞价营销网站推广策略  # 网站建设关键词推广  # 长安镇SEO优化公司  # 解决问题  # css  # 相关文章  # 适用于  # 两种  # 选择器  # 加载  # 两种类型  # 中不  # 鼠标  # css样式  # html 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: jQuery Mask 插件中实现电话号码固定前导零的教程  解决Flask中Quill编辑器内容提交失败及TypeError的指南  解决 MongoDB 聚合查询中对象数组 _id 匹配问题  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  NetBeans Ant项目:自动化将资源文件复制到dist目录的教程  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  Descript怎样用AI剪辑自动去噪_Descript用AI剪辑自动去噪【自动降噪】  J*aScript中赋值与自增运算符的复杂交互与执行机制  Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程  抖音商城签到领现金是真的吗_抖音商城签到奖励与提现说明  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】  俄罗斯浏览器官网直达链接 俄罗斯浏览器最新在线入口导航  Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  CSS Box Model与弹性按钮:维持布局稳定的动画实践  小米汽车11月交付量突破40000台!雷军:将继续努力  漫蛙漫画官方首页 漫蛙2漫画在线阅读入口  126邮箱手机版登录官网2026_126手机邮箱免费入口最新  vivo云服务网页版登录 怎么登录vivo云服务网页版  淘宝支付提示失败如何解决 淘宝支付流程优化方法  深入理解J*a编译器的兼容性选项:从-source到--release  J*aScript DOM操作:高效清空列表元素的策略与实践  sublime如何只显示或隐藏特定类型文件_sublime侧边栏文件过滤  C++指针和引用有什么区别_C++内存管理核心概念深度解析  美团外卖商家服务中心入口 美团商家版官网入口  J*aScript打印功能_j*ascript输出控制  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  LINUX怎么设置定时任务_LINUX crontab配置教程  虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性  c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换  深入理解J*aScript Promise异步执行与微任务队列  b站怎么删除评论_b站评论管理与删除操作  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  sublime怎么进行远程开发编辑_配置rsub/rmate实现sublime编辑服务器文件  J*aScript数据结构转换:将对象数组按类别分组  顺丰国际快递查询 国际件官方查询入口  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法  Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法  J*a里如何实现线程安全的懒加载单例_懒加载单例实现方法解析  css绝对定位元素脱离父容器怎么办_确保父元素position非static  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  照顾宝贝2小游戏点击立即在线玩  c++如何使用Catch2编写单元测试_c++简洁易用的BDD风格测试框架  微博网页版官方账号登录 微博网页版内容浏览使用指南  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025 

搜索