如何在CSS中制作卡片旋转动画_transform rotate @keyframes实现效果


答案是使用CSS的transform、rotate和transition或@keyframes实现卡片翻转动画。1. HTML结构包含正背面两个div;2. 父容器设置perspective创建3D空间,卡片设置transform-style: preserve-3d;3. 正背面绝对定位,背面初始rotateY(180deg)并隐藏反面;4. 通过:hover触发card的rotateY(180deg)配合transition实现平滑翻转,或用@keyframes定义动画帧,结合J*aScript触发动画类,确保视觉连贯性与交互流畅。

如何在css中制作卡片旋转动画_transform rotate @keyframes实现效果

想让网页中的卡片元素实现翻转动画,比如像翻牌一样展示背面内容,可以通过CSS的 transformrotate@keyframes 配合完成。整个过程不难,关键是设置好3D变换环境和旋转关键帧。

1. 基础结构:HTML 卡片容器

先写一个简单的卡片结构,包含正面和背面两个面:

<div class="card">
  <div class="card-face front">正面</div>
  <div class="card-face back">背面</div>
</div>

2. 设置3D空间与翻转容器

CSS中要启用3D变换,必须在父容器上使用 perspective,并给卡片设置 transform-style: preserve-3d

.card {
  width: 200px;
  height: 300px;
  position: relative;
  perspective: 1000px; /* 创建3D透视感 */
}
<p>.card-face {
width: 100%;
height: 100%;
position: absolute;
backface-visibility: hidden; /<em> 隐藏背面时不可见 </em>/
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: bold;
}</p><p>.front {
background: #3498db;
color: white;
}</p><p>.back {
background: #e74c3c;
color: white;
transform: rotateY(180deg); /<em> 背面初始旋转180度 </em>/
}</p>

3. 使用 @keyframes 定义旋转动画

通过 @keyframes 定义一个从0到180度的Y轴旋转动画:

@keyframes cardFlip {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(180deg);
  }
}
<p>.card:hover .front {
animation: cardFlip 0.6s forwards;
}</p><p>.card:hover .back {
animation: cardFlip 0.6s forwards;
animation-delay: 0.6s; /<em> 等正面翻完再显示背面 </em>/
}</p>

上面代码会让卡片在悬停时正面翻转,背面延迟出现。但更推荐的方式是直接对整个卡片做变换,而不是分别动画两个面。

LongShot LongShot

LongShot 是一款 AI 写作助手,可帮助您生成针对搜索引擎优化的内容博客。

LongShot 77 查看详情 LongShot

改进方案:把动画应用在包裹层:

.card-container {
  width: 200px;
  height: 300px;
  perspective: 1000px;
}
<p>.card {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
transition: transform 0.6s ease;
}</p><p>.card:hover {
transform: rotateY(180deg);
}</p><p>.front, .back {
width: 100%;
height: 100%;
position: absolute;
backface-visibility: hidden;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: bold;
}</p><p>.front {
background: #3498db;
color: white;
}</p><p>.back {
background: #e74c3c;
color: white;
transform: rotateY(180deg);
}</p>

这种方式更简洁,无需 @keyframes,用 transition 实现平滑翻转。但如果坚持要用 @keyframes,可以这样定义:

@keyframes flipIn {
  from {
    transform: rotateY(0deg);
  }
  to {
    transform: rotateY(180deg);
  }
}
<p>.card.animated {
animation: flipIn 0.6s ease forwards;
}</p>

然后通过J*aScript添加类触发动画:

document.querySelector('.card').addEventListener('click', function() {
  this.classList.toggle('animated');
});

4. 关键点总结

  • perspective 决定3D视觉距离,一般设在父容器
  • transform-style: preserve-3d 确保子元素保持3D空间
  • backface-visibility: hidden 避免翻转时看到反面内容
  • 背面元素初始应 rotateY(180deg)
  • 动画可用 transition(交互)或 @keyframes(精确控制)

基本上就这些。实现卡片翻转的核心是理解3D变换机制,选对方法就能轻松做出流畅效果。

以上就是如何在CSS中制作卡片旋转动画_transform rotate @keyframes实现效果的详细内容,更多请关注其它相关文章!


# 中文网  # 产品营销推广方案逻辑  # 广宁seo优化技巧  # 红薯批发营销推广方案  # 映日荷seo  # 电商推广营销模式  # 百度关键词搜索排名统计  # 井冈山手机网站优化排名  # 教育网站推广公司代运营  # 高端网站建设大约多少钱  # 淮安视频营销推广招聘网  # 解决问题  # 会让  # 要用  # css  # 可以通过  # 相关文章  # 就能  # 有什么特点  # 流式  # 如何在  # 绝对定位  # ai  # ssl  # html  # java  # javascript  # 卡片旋转 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: word邮件合并怎么插入个性化图片_Word邮件合并插入个性化图片方法  包子漫画在线观看入口 包子漫画网正版全集链接  POKI小游戏在线免费入口链接 POKI小游戏无下载秒玩玩  byrutor直接访问入口 byrutor官方游戏库  掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析  《360浏览器》自动保存账号密码设置方法  Python实战:高效处理实时数据流中的最小/最大值  抖音号怎么解除企业认证改成个人?改成个人有影响吗?  创建您的便携版VS Code:让配置随身携带  修复UI元素交互障碍:从“开始”按钮到信息框的平滑过渡实现  cad视图选项卡不见了怎么办_cad视图标签恢复显示方法  126邮箱申请入口官网_126邮箱注册免费登录2025  XPath动态元素定位:如何精准选择文本内容变化的元素  解决CSS background 属性中 cover 关键字的常见误用  J*aScript文本高亮功能优化:解决多词匹配错误与精确分割策略  《爱笔思画x》涂色教程  PDF如何批量加注释_PDF多文件批注高亮操作教程  《跳跳舞蹈》循环播放方法  苹果手机怎么合并照片_苹果手机合并多张照片的操作方法  谷歌邮箱怎么换绑定邮箱Gmail安全备份邮箱修改方法  WPS长文档分栏排版不乱方法_WPS分栏+分节符报纸排版教程  Excel如何设置动态下拉菜单_Excel表格下拉选项快速方法  跨语言测试实践:使用Python Selenium测试现有J*a Web项目  J*aScript调试技巧_性能分析与内存快照  123网页端官方登录页 123邮箱网页版即时通讯服务  优化2xN网格最大路径和的动态规划算法实践  在VS Code中利用AI辅助进行代码迁移  视频转蓝光m2ts格式  VB表达式书写规则解析  如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计  iPhone12是否要更新ios16  PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  iphone16系列配置参数介绍  pubmed数据库官方主页_pubmed学术论文查找官网直达  微信注销后银行卡解绑了吗_微信注销后银行卡解绑状态  怎样设置开机后自动运行某个程序_Windows启动文件夹与任务计划【自动化】  J*aScript实现下拉菜单驱动的动态表格数据展示  excel怎么计算平均值 excel平均函数*ERAGE使用教学  《火影忍者:木叶高手》快速升级攻略  Composer reinstall命令重装损坏的包  漫蛙manwa官网浏览入口_漫蛙漫画网页版访问链接  sf漫画官网登录入口直达_sf漫画官方正版网址  《360浏览器》设置摄像头权限方法  不吃碳水化合物是健康减肥的好办法吗  全球各国上班时间表外贸邮件时间  J*aScript:从子元素中批量移除特定CSS类  电脑“无法访问指定设备、路径或文件”怎么办?五种权限设置方法  Mac如何开启画中画模式_Mac Safari浏览器视频画中画功能  QQ邮箱注册地址 免费获取QQ邮箱账号  C++如何将字符串转换为大写或小写_C++ transform函数的使用技巧 

 2025-11-29

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.