目录

前言

HTML部分源码

CSS部分源码

JS部分源码


前言

还在为节日不知道送女朋友什么而烦恼?还在为父母不知道计算机专业是写代码而烦恼?还在为母亲节or父亲节送父母礼物父母说不要乱花钱?(当然父母只是口头说一下他们什么都不缺,但收到孩子送的礼物,心里还是很高兴的),还在为最近爆火的3D旋转墙不知道如何实现而烦恼? 那么这篇博文可能对你很大的帮助,利用HTML、CSS、JavaScript实现史上最简单的3D旋转墙,关注博主,助你解决以上所有烦恼

HTML部分源码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>document</title>
</head>
<!-- 导入css、js相关文件 -->
<link rel="stylesheet" href="../CSS/style.css">
<script src="../JS/scrpit.js"></script><body><div><!-- 放入图片 --><img src="../pic/6695.png" alt=""><img src="../pic/397.png" alt=""><img src="../pic/pic.png" alt=""><img src="../pic/mp.itc.png" alt=""><!-- 中间图片 --><img src="../pic/JPEG.png" alt="" style="width: 500px;"><img src="../pic/JaPEG.png" alt=""><img src="../pic/hdslb.png" alt=""><img src="../pic/greenxf.png" alt=""><img src="../pic/ftuguaishou.png" alt=""></div><!-- 点击屏幕播放音乐 适用于手机微信、电脑等 循环播放 --><audio autoplay loop id="audios"><source src="../audio/Lost Frequencies _ Janieck - Reality.mp3"></audio>
</body></html>

CSS部分源码

body {perspective: 5000px;
}img {width: 300px;height: 500px;position: absolute;
}/* 图片位置  旋转角度 距离远近 */
img:nth-child(1) {transform: translateZ(500px);
}img:nth-child(2) {transform: rotateY(60deg) translateZ(-500px);
}img:nth-child(3) {transform: rotateY(180deg) translateZ(500px);
}img:nth-child(4) {transform: rotateY(-180deg) translateZ(500px);
}img:nth-child(5) {transform: rotateY(60deg) translateX(30px)
}img:nth-child(6) {transform: rotateY(-60deg) translateZ(-500px);
}img:nth-child(7) {transform: rotateY(-60deg) translateZ(500px);
}img:nth-child(8) {transform: rotateY(-180deg) translateZ(500px);
}img:nth-child(9) {transform: rotateY(-300deg) translateZ(500px) translateX(30px);
}div {margin: 0 auto;margin-top: 100px;transform-style: preserve-3d;/* 调用下边关键帧 20s一圈 无限播放 */animation: rotate 20s linear infinite;height: 500px;width: 500px;
}/* 关键帧 动态效果 */
@keyframes rotate {0% {transform: rotateX(-15deg) rotateY(0);}100% {transform: rotateX(-15deg) rotateY(360deg);}
}

img:nth-child是给每个图片单独设置样式,使每张图片绕自身Y轴旋转一定角度,角度取决于你放了多少张图片,有n张图,则每张图片依次旋转360/n度,比如这里我放了8张图,那么每张图应依次比上一张图片多旋转360/8=45度,层层递进,如0度、45度、90度、135度、180度、225度、270度、315度,再使每张图片向自身的Z轴(此时每张图片的Z轴方向都已改变)都设置一个正向(全为负值也可)的等距离的位移,使其扩散开,我这里的写法效果也一样,旋转45度位移 - 500px其实和旋转225度位移500px效果是一样的。

JS部分源码


// 这里使用了微信自带的WeixinJSBridgeReady事件
document.addEventListener('WeixinJSBridgeReady', function () {document.querySelector('#audios').play()
})
// 触摸事件
document.addEventListener('touchstart', function () {document.querySelector('#audios').play()})// 点击事件
document.addEventListener('click', function () {document.querySelector('#audios').play()})

当然,如果不想使用cv大法,那么博主还贴心的准备了Github的源码地址,访问以下链接直接下载即可:https://github.com/wmc1459563528/3DRotating-wall

附上最终成品效果(此图为网图,但最终效果和这个效果类似)

【3D旋转墙】最简单的3d旋转墙相关推荐

  1. html制作3d筛子,JS实现简单随机3D骰子

    本文实例为大家分享了JS实现简单随机3D骰子的具体代码,供大家参考,具体内容如下 描述: JS--实现简单的随机3D骰子. 效果: 实现: html文件: Document PLAY css文件: @ ...

  2. html 图片展示 3d,利用CSS3制作简单的3d半透明立方体图片展示

    效果图如下: 示例代码: new document //css部分 html{ font-size:62.5%; } img{ width:300px; height:300px; } #stage{ ...

  3. Vue中用Three.js创建一个3D会议室(三)拖动与旋转

    第三章 文章目录 拖动 DragControls 旋转 获取鼠标选中的3D模型 添加旋转按钮以及旋转方法 小贴士 虽然现在基本的模型都创建出来了,但是我们3D会议室的主要目的是可以自己摆放会议室中的物 ...

  4. Android做3D旋转动画,Android编程实现3D旋转效果实例

    本文实例讲述了Android编程实现3D旋转效果的方法.分享给大家供大家参考,具体如下: 下面的示例是在Android中实现图片3D旋转的效果. 实现3D效果一般使用OpenGL,但在Android平 ...

  5. 3D转换之三维坐标系,透视旋转等基础知识

    一.三维坐标系 三维坐标系就是指立体空间,立体空间是由3个轴共同组成的. 1.x轴:水平向右    注意:x右边是正值,左边是负值 2.y轴:垂直向下    注意:y下面是正值,上面是负值 3.z轴: ...

  6. css3 3d旋转兼容模式下,CSS3 3D 转换

    3D Transforms CSS3 允许您使用 3D 转换来对元素进行格式化. 在本章中,您将学到其中的一些 3D 转换方法:rotateX() rotateY() 点击下面的元素,来查看 2D 转 ...

  7. ZAM 3D 制作简单的3D字幕 流程(二)

    ZAM 3D 制作简单的3D字幕 流程(二) 原文:ZAM 3D 制作简单的3D字幕 流程(二) 原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表 ...

  8. 《3D打印就这么简单》——3.2节组装初期的经验之谈

    本节书摘来自异步社区<3D打印就这么简单>一书中的第3章,第3.2节组装初期的经验之谈,作者 [美]James Floyd Kelly,更多章节内容可以访问云栖社区"异步社区&q ...

  9. C++实现简单的3D渲染【线性代数】

    3dll 使用C++实现简单的3D渲染 代码 代码请见github代码仓库 https://github.com/gaowanlu/3dll 为什么写了它 没学过计算机图形学.图像处理课程的菜鸡最近在 ...

最新文章

  1. 慕课python课后作业_python基础1习题练习
  2. 你离距离算法只差零点几毫米!
  3. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(手动配置箱图箱体颜色)实战
  4. 最近的一次敏捷项目Scrum经验总结
  5. vmware不能和主机相连
  6. 天气预报Dom解析(转)
  7. 程序模拟键盘鼠标操作
  8. readonly和disabled的区别
  9. ROS的学习(二十)rosserial中的Publisher和Subscriber中的编程步骤
  10. java swing弹出输入框_JavaSwing文本框输入中文弹出输入窗口
  11. Win11输入法的选字框不见了怎么办?
  12. Centerface + Facenet实现视频人脸识别(附代码)
  13. CALCULATE函数的运算顺序-第一弹
  14. php+sqlserver之如何连接sqlserver数据库
  15. ffmpeg学习笔记
  16. 一键创建多个文件夹?快速批量建立文件夹并命名?
  17. 浅谈MES的通用设计之一:数据传输
  18. hutool excel导入报错org.apache.poi.ss.usermodel.Cell.getCellType()Lorg/apache/poi/ss/usermodel/CellType;
  19. 图像超分算法SRLUT: Practical Single-Image Super-Resolution Using Look-Up Table图像超分辨率重建
  20. 【双非一战跨考367科软】我的跨考之路

热门文章

  1. 当下流行扁平风插画,可以用这六款软件进行绘画
  2. 《编程机制探析》第七章 设计模式
  3. 常用的通配符SSL证书
  4. 图片局部放大镜,可在大图上下左右移动并放大对应的区域
  5. 科研需要知道的一些网址
  6. aix查看后台程序执行情况_AIX AZ:学习AIX后台处理程序后端程序
  7. Unity瓦片地图解决无法占满格的问题
  8. 32位CPU的机器只能支持4GB的内存吗
  9. 车载控制器无法联机下载程序处理方法
  10. qq邮箱格式的Java代码_java mail qq邮箱配置 实例