HTML5+CSS3实现3D旋转卡片,开发工具:VS Code。

先看效果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82YkNLBC-1653803901135)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/2c53c2c237c74057a4190617668f404a~tplv-k3u1fbpfcp-zoom-in-crop-mark:1956:0:0:0.image?)]

源代码:

<div class="card"><div class="front"><p>缘分让我们遇到!</p></div><div class="back"><p>求点赞~</p><p>求关注~</p><p>求评论~</p><p>求收藏~</p></div>
</div>
*{margin:0;padding:0;
}
body{/* 弹性布局,让页面元素水平+垂直居中 */display: flex;justify-content: center;align-items: center;/* 设置body高度为100%窗口高度 */height:100vh;/* 背景渐变色 */background-image: linear-gradient(200deg,#5ee7df,#b490ca);/* 大家看到不同了吗?不过看起来有些许夸张 *//* 现在就正常多啦 *//* 没加这个属性之前,我们的动画看起来有点生硬,没有任何立体感,所以我们需要添加这个属性来增加卡片旋转时的立体感,这个值越小,立体感就会越明显,立体感最明显的地方就是近大远小,这个的意思就是设置视距,相当于你的眼睛离一个东西的距离,当这个东西离你的眼睛越近,那么这个东西就会越大 *//* 这个大家以后做一些3D效果时会经常用到的,划重点哦 *//* 今天的小实例就做完啦,大家可以跟着做一下,加深一下印象,再见!各位 */perspective: 1000px;
}
.card{/* 相对定位 */position: relative;width: 300px;height: 450px;/* 圆角 */border-radius: 30px;/* 鼠标移到元素上光标变为小手 */cursor: pointer;background-color: #fff;/* 盒子阴影 */box-shadow: 1px 1px 20px rgba(0,0,0,0.1);/* 给父元素添加一个3D盒子属性,那么子元素就到背面了,这个属性是加到父元素上的,但是影响的是子元素 */transform-style: preserve-3d;/* 给卡片添加默认动画 */animation: rotate-reverse 1.2s cubic-bezier(0.66,-0.47,0.33,1.5) forwards;
}
/* 设置鼠标移入卡片时执行动画 */
.card:hover{/* 动画(名称 时长 第三个属性是贝塞尔曲线,我们可以自定义动画的运动轨迹,让动画的运动轨迹有了很多种可能 第四个属性是当我们的动画完成时的状态,一般动画完成之后就回到了0%的状态,默认值是backwards,当我们给的属性值是forwards时,那么动画到100%的时候就会停下来,不会回到0%) *//* 哈哈,这里又啰嗦了,大家见谅哈 */animation: rotate 1.2s cubic-bezier(0.66,-0.47,0.33,1.5) forwards;/* 大家有没有发现咱们的动画看起来有点生硬,不是很自然 *//* 这里再给大家介绍一个属性,划重点了哦!! */
}
.front,.back{/* 绝对定位 子元素是绝对定位,父元素需要相对定位 */position:absolute;top: 0;left: 0;width:100%;height:100%;/* 弹性布局,让元素垂直陈列 */display: flex;flex-direction: column;/* 现在子元素垂直陈列,那么就是让子元素水平居中 */align-items: center;/* 平均分配高度给每一个子元素 */justify-content: space-around;font-size: 20px;background-color: #fff;border-radius: 30px;/* 隐藏旋转div元素的背面 */backface-visibility: hidden;
}
.back{/* 因为背面卡片要到后面去,所以我们给背面卡片加一个沿Y轴旋转180度的属性,这里我们可以看到旋转了,但是没到后面去,原因就是父盒子现在不是3D盒子,而是一个2D盒子,所以我们需要让父元素变成一个3D盒子(哈哈,有点啰嗦了) */transform: rotateY(180deg);
}
/* 接下来我们定义一下旋转动画 */
@keyframes rotate{0%{transform: rotateY(0deg);}100%{transform: rotateY(180deg);}
}
@keyframes rotate-reverse{0%{transform: rotateY(180deg);}100%{transform: rotateY(0deg);}
}

HTML5+CSS3小实例:3D旋转卡片相关推荐

  1. HTML5+CSS3小实例:3D旋转木马相册

    HTML5+CSS3做一个3D旋转木马相册,鼠标悬停时,停止旋转,移开继续旋转,大家把图片替换成自己的即可. 效果: 源码: <!DOCTYPE html> <html>< ...

  2. HTML5+CSS3小实例:炫彩的发光字特效

    前言: 今天我们向大家精选了一款HTML5+CSS3文字特效,文字特效有超酷的动画类型,不多说,一起来看看. 描述: 这款文字特效既有倒影的效果,又有随机的颜色,看起来非常的炫酷.全文基于 HTML5 ...

  3. HTML5+CSS3小实例:有趣的沙漏加载动画

    HTML5+CSS3做一个有趣的沙漏加载动画,如此精致的沙漏,如果我说这个没有用到图片,纯CSS实现,你信吗?这个loading虽然看起来简单,但是你仔细拆解一番,你会发现其中居然用了四个动画,所以这 ...

  4. HTML5+CSS3小实例:后台管理系统的侧边导航栏

    HTML5+CSS3做一个后台管理系统的侧边导航栏,点击三条杠,可以收起或展开侧边导航栏.收起时,图标变大,文本在图标下方,管理员头像右侧的欢迎语隐藏:展开时图标变小,文本在图标的右侧显示,管理员头像 ...

  5. HTML5+CSS3小实例:自定义滤镜实现液体加载动画

    HTML5+CSS3搭配自定义滤镜做一个液体环形小球加载动画,七个小球绕环形旋转,设置有规律的动画延迟时间,使它们有序依次旋转,过程伴随溶球效果,这真是一个百看不腻的loading加载动画. 效果: ...

  6. HTML5+CSS3小实例:简约不简单的社交分享按钮

    HTML5+CSS3做一组简约不简单的社交分享按钮,字体图标库用到的是 font-awesome,鼠标悬停,图标变小,边框出现,然后边框倾斜并加粗,过程伴随动画,就这样,大功告成,是不是很简单? 效果 ...

  7. HTML5+CSS3小实例:全屏导航栏菜单

    HTML5+CSS3实现全屏导航栏菜单,悬停在右上角的小图标,点击以圆形扩散的方式绽开全屏导航栏,这种方式的导航栏很吸睛,运用也越来越广,赶紧学起来呀! 效果: 源码: <!DOCTYPE ht ...

  8. HTML5+CSS3小实例:酷炫的ANIPLEX文字特效

    HTML5+CSS3实现酷炫的ANIPLEX文字特效,这个案例动画有点多,不过效果是真的酷炫,可以用来做网站的开屏动画,不多废话,直接看效果吧. 效果: 源码: <!DOCTYPE html&g ...

  9. HTML5+CSS3小实例:抽屉式分享按钮切换效果

    HTML5+CSS3做一个抽屉式分享按钮切换效果,这个案例属于代码简单,效果惊艳,上手容易系列,主要用到的是 transition ,还有,字体图标用到的依然是 font-awesome. 效果: 源 ...

最新文章

  1. nginx的详细使用说明(下)
  2. Windows Phone开发(35):使用Express Blend绘图 转:http://blog.csdn.net/tcjiaan/article/details/7493010...
  3. 在eclipse中输入.后提示解决
  4. 牛客网【每日一题】7月31日题目精讲—兔子的区间密码
  5. 1052. 卖个萌 (20)
  6. KUDU数据导入尝试一:TextFile数据导入Hive,Hive数据导入KUDU
  7. UNIX系统命令大全
  8. 1.3端口扫描:利用Nmap工具进行端口扫描
  9. 购买周期 python-用Python实现一个基于EG协整法的跨周期套利策略
  10. mysql的安全性实验报告_数据库安全性与完整性实验报告
  11. Leetcode——唯唯诺诺对并查集的初次相见
  12. 小学生学Arduino------制作智能灯
  13. 神经网络与深度学习---train_loss和val_loss(test_lost)分析
  14. 根据OVF文件在VMware Workstation中恢复虚拟机
  15. 基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)
  16. 普通IT中年自救指南(一)
  17. CSS基础-03-字体和文本样式
  18. 微信小游戏入门案例——拼图游戏
  19. kibana Discover界面出No results found
  20. 含百分比数字进度条的设计

热门文章

  1. 教你如何在安卓手机上敲python代码
  2. 如何理解先验概率与后验概率
  3. 额温枪用途和注意事项
  4. ToDesk企业版上新 | 十大新功能,让企业远控更安全、更便捷、更流畅
  5. 写入hd5文件报错:missing optional dependency ‘tables’. use pip or conda to install tables
  6. 脑洞大开-数据结构另类攻略
  7. 【100%通过率】华为机试真题 C++ 实现【Excel单元格数值统计】【2022.11 Q4 新题】
  8. 《武林外传》产品体验总结
  9. 转载如何让网站顺利通过W3C验证
  10. 少儿编程“下沉”战:小城学生离编程还有多远?