【css酷炫效果】纯CSS实现3D翻转卡片动画

【css酷炫效果】纯CSS实现3D翻转卡片动画

想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90490472

创作随缘,不定时更新。

创作背景

刚看到csdn出活动了,赶时间,直接上代码。

html结构

clike 复制代码
    <div style='text-align:center;margin-top:50px;'>
		<div class="card-container">
		  <div class="card">
			<div class="front">正面内容</div>
			<div class="back">背面内容</div>
		  </div>
		  <!-- 复制多个卡片 -->
		  <div class="card">...</div>
		</div>
	</div>

css样式

clike 复制代码
/* 容器设置透视 */
.card-container {
  display: flex;
  justify-content: center;
  gap: 40px;
  perspective: 1000px;
}

/* 卡片基础样式 */
.card {
  width: 300px;
  height: 450px;
  position: relative;
  cursor: pointer;
  transform-style: preserve-3d; /* 启用3D空间 */
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

/* 正反面公共样式 */
.front, .back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden; /* 隐藏背面 */
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* 正面样式 */
.front {
  background: linear-gradient(45deg, #b490ca, #5ee7df);
  font-size: 30px;
  color: white;
}

/* 背面旋转180度并设置不同背景 */
.back {
  background: linear-gradient(45deg, #badbe9, #e0c7e3);
  transform: rotateY(180deg);
}

/* 悬停触发翻转 */
.card:hover {
  transform: rotateY(180deg);
}

完整代码

clike 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
/* 容器设置透视 */
.card-container {
  display: flex;
  justify-content: center;
  gap: 40px;
  perspective: 1000px;
}

/* 卡片基础样式 */
.card {
  width: 300px;
  height: 450px;
  position: relative;
  cursor: pointer;
  transform-style: preserve-3d; /* 启用3D空间 */
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

/* 正反面公共样式 */
.front, .back {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  backface-visibility: hidden; /* 隐藏背面 */
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

/* 正面样式 */
.front {
  background: linear-gradient(45deg, #b490ca, #5ee7df);
  font-size: 30px;
  color: white;
}

/* 背面旋转180度并设置不同背景 */
.back {
  background: linear-gradient(45deg, #badbe9, #e0c7e3);
  transform: rotateY(180deg);
}

/* 悬停触发翻转 */
.card:hover {
  transform: rotateY(180deg);
}
</style>
</head>
<body>
    <div style='text-align:center;margin-top:50px;'>
		<div class="card-container">
		  <div class="card">
			<div class="front">正面内容</div>
			<div class="back">背面内容</div>
		  </div>
		  <!-- 复制多个卡片 -->
		  <div class="card">...</div>
		</div>
	</div>
	
</body>
</html>

效果图

相关推荐
小J听不清6 分钟前
CSS 外边距(margin)全解析:取值规则 + 实战用法
前端·javascript·css·html·css3
还是大剑师兰特27 分钟前
Stats.js 插件详解及示例(完全攻略)
前端·大剑师·stats
前端小超超28 分钟前
Vue计算属性computed:可写与只读的区别
前端·javascript·vue.js
IT_陈寒1 小时前
SpringBoot实战:3个隐藏技巧让你的应用性能飙升50%
前端·人工智能·后端
weixin199701080161 小时前
唯品会商品详情页前端性能优化实战
前端·性能优化
爱学习的程序媛1 小时前
【Web前端】Pinia状态管理详解
前端·vue.js·typescript
爱学习的程序媛1 小时前
“数字孪生”详解与前端技术栈
前端·人工智能·计算机视觉·智慧城市·信息与通信
海石2 小时前
微信小程序开发02:原始人也能看懂的着色器与视频处理
前端·微信小程序·视频编码
程序员Sunday2 小时前
Claude Code 生态爆发:5个必知的新工具
前端·人工智能·后端
ChoSeitaku2 小时前
NO.2|proto3语法|消息类型|通讯录|文件读取|enum类型
java·服务器·前端