如何通过css animation制作卡片翻转动画


实现卡片翻转动画需设置perspective创建3D空间,使用transform-style: preserve-3d和backface-visibility: hidden确保立体效果与背面隐藏,通过@keyframes定义rotateY旋转并应用于容器实现自动翻转,推荐对.card-inner应用animation以保证整体性,hover交互则优先使用transition。

如何通过css animation制作卡片翻转动画

要实现卡片翻转动画,核心是利用 CSS 的 transform 和 perspective 属性,配合 @keyframes 或 transition 来控制翻转过程。虽然常使用 transition 实现交互式翻转,但也可以通过 animation 制作自动或循环的翻转效果。

1. 基础结构:创建卡片容器

卡片通常由一个外层容器和前后两个面组成。HTML 结构如下:

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

2. 设置3D透视环境

翻转要有立体感,必须给父容器设置 perspective,模拟视觉景深:

.card {
  width: 200px;
  height: 300px;
  perspective: 1000px; /* 重要:创建3D空间 */
  position: relative;
}

3. 卡片面的公共样式与3D定位

前后两面需要绝对定位,并启用 3D 渲染:

.card-face {
  width: 100%;
  height: 100%;
  position: absolute;
  backface-visibility: hidden; /* 关键:隐藏背面 */
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: white;
}
<p>.front {
background-color: #3498db;
transform: rotateY(0deg); /<em> 正面默认可见 </em>/
}</p><p>.back {
background-color: #e74c3c;
transform: rotateY(180deg); /<em> 背面初始旋转180度 </em>/
}</p>

4. 使用 @keyframes 定义翻转动画

通过 animation 让卡片自动翻转。定义从 0 到 360 度的 Y 轴旋转:

@keyframes flip {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
<p>.card:hover .front,
.card:hover .back {
animation: flip 1s ease-in-out forwards;
}</p>

注意:这样写会让前后两面各自动画,可能错位。更推荐对整个卡片容器应用变换。

Facetune Facetune

一款在线照片和视频编辑工具,允许用户创建AI头像

Facetune 109 查看详情 Facetune

5. 推荐方式:对容器使用 transform-origin 控制翻转

将动画应用在包裹层,前后两面随容器一起动:

.card {
  width: 200px;
  height: 300px;
  perspective: 1000px;
}
<p>.card-inner {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d; /<em> 保持子元素3D空间 </em>/
animation: flip 2s infinite alternate; /<em> 自动来回翻转 </em>/
}</p><p>@keyframes flip {
from {
transform: rotateY(0deg);
}
to {
transform: rotateY(180deg);
}
}</p>

这时前后两面仍需设置 backface-visibility: hidden 避免穿模。

6. 完整示例(自动翻转)

结合以上要点:

.card {
  perspective: 1000px;
}
<p>.card-inner {
width: 200px;
height: 300px;
position: relative;
transform-style: preserve-3d;
animation: flip 3s ease-in-out infinite alternate;
}</p><p>.card-face {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
border-radius: 10px;
}</p><p>.front {
background: #3498db;
transform: rotateY(0deg);
}</p><p>.back {
background: #e74c3c;
transform: rotateY(180deg);
}</p><p>@keyframes flip {
0% { transform: rotateY(0deg); }
100% { transform: rotateY(180deg); }
}</p>

基本上就这些。关键点在于 perspective、transform-style: preserve-3d 和 backface-visibility: hidden 的配合。animation 适合做自动播放的翻转,若用于交互(如 hover),用 transition 更自然。

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


# html  # 绝对定位  # 有什么特点  # 滑动门  # 要有  # 相关文章  # 可以通过  # 中文网  # css  # 母婴如何做营销推广  # 怎么做一个游戏网站推广  # 个人ip怎么推广营销  # seo行业中伪软文推广  # 宁晋网站建设创意  # 好的网站实例推广软件  # 网站专业优化简历  # 可以车险推广的网站  # 济南seo知识分享  # 河北高端网站建设公司  # 用在  # 解决问题  # 会让  # 但也 


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


相关推荐: 解决CSS布局中意外顶部空白问题的教程  如何查找哪个composer包引入了特定的依赖?  Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】  win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】  Scipy Sparse CSR 矩阵非零元素行级遍历的最佳实践  C++ static关键字作用_C++静态成员变量与静态函数  HTML与J*aScript实现下拉菜单驱动的动态表格:构建交互式维修表单  如何在vscode中关闭it环境  tiktok国际版入口_tiktok官网网页版链接  BunnyStream TUS视频上传指南:解决401认证错误与参数配置  在PySimpleGUI中实现键盘按键绑定按钮事件  MySQL多重JOIN技巧:高效关联同一表获取多角色信息  VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  Google Drive API 认证:服务账户与OAuth 2.0的选择与实践  魔法祈幻界兑换码礼包大全  猫眼app抢票快还是小程序快  批改网网页版登录 批改网电脑版学生登录入口  微信如何设置字体大小_微信字体设置的阅读舒适  PHP odbc_fetch_array 返回值处理:如何正确访问嵌套数组元素  广州地铁app准妈咪徽章领取方法  qq邮箱格式填写示例 qq邮箱标准填写规范  视频号视频怎么免费保存到相册?保存到相册需要注意什么?  优化 WooCommerce 产品价格显示与自定义短代码集成  如何配置VS Code作为您Git操作的默认编辑器  斯宾塞称XGP云游戏“蒸蒸日上”:正在构建一个游戏从未如此唾手可得的未来  《东方财富》条件单关闭方法  J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突  PSD转AI文件的简单方法  掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析  苹果17 Pro如何启用分屏浏览_iPhone 17 Pro分屏浏览设置步骤  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  PHP安全加载非公开目录图片与动态内容类型处理指南  《虎扑》关闭社区内容推荐方法  圆通快递官方入口不需要登录 在线查询入口快速查询  中通快递官网指定查询 中通快递单号查询平台入口  J*a中的值传递到底指什么_值传递模型在参数传递中的真正含义说明  《浙里办》电子发票开具方法  C++中的explicit关键字有什么作用_C++类型转换控制与explicit使用  如何编写一个符合 composer 规范的 post-install-cmd 脚本?  《宝可梦大集结》S4冠军之路开始时间介绍  《i莞家》修改昵称方法  抖音如何解除|直播|权限绑定_抖音关闭并解绑|直播|功能的方法  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  作业帮网页版不用下载入口 在线问老师快速答疑  如何查询国外邮政编码_国外邮政编码查询的多种有效途径  小米倒班助手添加日历提醒  ToDesk远程摄像头功能使用方法_ToDesk远程视频画面查看设置教程  网易云音乐闹钟铃声设置教程  Python模块化编程:避免循环导入与共享函数的最佳实践 

 2025-10-11

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

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

点击免费数据支持

提交您的需求,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.