当前位置: 首页 > news >正文

前端小练习:案例4.3D图片旋转展示(旋转木马)

一.效果预览图

二.实现思路 

1.实现旋转木马效果的第一步是先准备好自己需要的图片,创建html文件

2.旋转木马的实现,关键点在3D形变和关键帧动画。

3.步骤,定义一个div使其居中,,把图片放进div盒子里,因为图片需要3D形变,所以要给div设置3D环境,给图片设置定位或者使用弹性布局使其在相对的位置,要控制图片一定要在div中,否则关键帧动画旋转的时候整体会是倾斜的,根据图片的数量,合理控制图像的旋转角度,(通常使用 360度/图片数量=需要旋转的角度),最后设置z轴的移动距离和关键帧动画。

三.相关代码 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin: 0;padding: 0;perspective: 500000px;transform-style: preserve-3d;}.wp{width: 800px;height: 400px;perspective: 500000px;transform-style: preserve-3d;position: relative;margin: 200px auto;animation: xz 10s infinite linear;}img{width: 180px;height: 300px;position: absolute;left: 310PX;}.wp img:nth-child(1){transform: rotateY(0) translateZ(400px);}.wp img:nth-child(2){transform: rotateY(-30deg) translateZ(400px);}.wp img:nth-child(3){transform: rotateY(-60deg) translateZ(400px);}.wp img:nth-child(4){transform: rotateY(-90deg) translateZ(400px);}.wp img:nth-child(5){transform: rotateY(-120deg) translateZ(400px);}.wp img:nth-child(6){transform: rotateY(-150deg) translateZ(400px);}.wp img:nth-child(7){transform: rotateY(-180deg) translateZ(400px);}.wp img:nth-child(8){transform: rotateY(-210deg) translateZ(400px);}.wp img:nth-child(9){transform: rotateY(-240deg) translateZ(400px);}.wp img:nth-child(10){transform: rotateY(-270deg) translateZ(400px);}.wp img:nth-child(11){transform: rotateY(-300deg) translateZ(400px);}.wp img:nth-child(12){transform: rotateY(-330deg) translateZ(400px);}@keyframes xz{0%{transform: rotateX(-10deg);}100%{transform: rotateX(-10deg) rotateY(360deg);}}</style>
</head>
<body><div class="wp"><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""><img src="./image/wallhaven-pkgkkp.png" alt=""></div>
</body>
</html>

http://www.lryc.cn/news/116277.html

相关文章:

  • Linux这17个操作技巧是每个运维工程师应知必会的吧?
  • 音视频基础:分辨率、码率、帧率之间关系
  • Java基础八 - HTTP相关/Cookie/Session/网络攻击
  • 【车道线】TwinLiteNet 复现过程全纪录
  • 七牛云获取qn(url、bucket、access-key、secret-key)
  • 定时任务实现 - Cron表达式知识
  • 【java】抽象
  • Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit
  • 日撸代码300行:第63天(集成学习之 AdaBoosting-1)
  • 抽象父类获取子类的泛型 或接口泛型
  • 题目:2341.数组能形成多少数对
  • NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?
  • vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件
  • python优雅地爬虫
  • mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log
  • vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误
  • View绘制流程-Window创建
  • Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)
  • 【vue3】基础知识点-setup语法糖
  • idol!! 2023牛客暑期多校训练营6 C
  • 深入理解Jdk5引入的Java泛型:类型安全与灵活性并存
  • idea在控制台中输出文字显示乱码
  • hacksudo3 通关详解
  • CentOS 虚拟机磁盘扩容(非常实用)
  • docker案例复现
  • 淘宝资源采集(从零开始学习淘宝数据爬取)
  • 【C语言】预处理详解
  • 2023中国(合肥)场景创新峰会成功举办,全息网御被纳入《合肥市第二批场景能力清单》
  • QT QLCDNumber 使用详解
  • 明年,HarmonyOS不再兼容Android应用!