用html+CSS制作一个3D旋转相册 您所在的位置:网站首页 手机3d桌面是怎么弄的图片大全 用html+CSS制作一个3D旋转相册

用html+CSS制作一个3D旋转相册

2024-07-16 07:26| 来源: 网络整理| 查看: 265

前端html+css知识小应用

首先,我们要新建一个总的文件夹,文件夹里面新建一个images的文件夹,用来装图片,一个HTML文件,这里要注意,images文件夹和html文件是并列属性的,编辑器我用的webstrom,如下图所示:

在这里插入图片描述 然后,在images里面保存10张图片加1张背景图片(背景图片可以不设置),图片名字按顺序用1.jpg到10.jpg,背景图片这里用的star.jpg。如下图所示:

在这里插入图片描述 接下来就是代码部分了,新建一个html文件,名字随意,代码如下:

致青春 *{margin: 0;padding: 0;} html,body{height: 100%;} body{ display: flex; perspective: 1000px; transform-style: preserve-3d; background-image: url(images/star.jpg); height:100%; width: 100%; } #box{ position: relative; display: flex; width: 130px; height: 200px; margin: auto; transform-style: preserve-3d; transform: rotateX(-10deg); } #box > div{ transform-style: preserve-3d; position: absolute; left: 0; top: 0; width: 100%; height: 100%; line-height: 200px; font-size: 50px; text-align: center; box-shadow:0 0 10px #fff; -webkit-box-reflect:below 10px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,.8) 100%); } /* #box > div:nth-child(1){ background: skyblue; transform: translate3d(0,0,300px) rotateY(45deg); } #box > div:nth-child(2){ background: pink; transform: rotateY(0deg); } #box > div:nth-child(3){ background: purple; transform: translate3d(0,0,300px) rotateY(-45deg); } */ #box p{ position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto; width: 1200px; height: 1200px; background: -webkit-radial-gradient(center center,600px 600px,rgba(50,50,50,1),rgba(0,0,0,0)); border-radius: 50%; transform: rotateX(90deg) translate3d(-600px,0,-105px); } setTimeout(init,100); function init(){ var obox = document.getElementById('box'), aDiv = obox.getElementsByTagName('div'); for (var i = 0; i clearInterval(obox.timer); e = e || window.event; var sX = e.clientX, sY = e.clientY; this.onmousemove = function(e){ e = e || window.event; var nX = e.clientX, nY = e.clientY; // 当前点的坐标和前一点的坐标差值 desX = nX - sX; desY = nY - sY; tX += desX*0.1; tY += desY*0.1; obox.style.transform = "rotateX("+(-tY)+"deg) rotateY("+tX+"deg)"; sX = nX; sY = nY; } this.onmouseup = function(){ this.onmousemove = this.onmouseup = null; obox.timer = setInterval(function(){ desX *= 0.95; desY *= 0.95; tX += desX*0.1; tY += desY*0.1; obox.style.transform = "rotateX("+(-tY)+"deg) rotateY("+tX+"deg)"; if (Math.abs(desX) e = e || window.event; var d = e.wheelDelta/120 || -e.detail/3; if (d>0) { index-=20; }else{ index+=30; } (index obj.attachEvent?obj.attachEvent("on"+eName,fn):obj.addEventListener(eName,fn); } }

最后保存一下再运行就可以看到效果图了,因为本人是鞠婧祎的音乐粉丝,所以用的是鞠婧祎的图片,背景图片是在网上搜的星空图片,下面是我的效果图: 在这里插入图片描述 这个小demo保存之后,以后打开只要点击那个html文件,都可以看到这个效果。鼠标放在图片上,按住然后往上下左右滑都会旋转的



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有