送给女朋友的3D旋转相册附背景音乐详细教程及源码如下,简单易上手,亲测有效。
文件建立
首先在桌面新建一个名为“3D旋转”的文件夹,在其他目录下新建也可,桌面更快捷。
然后在文件中分别在新建两个文件(css、img)和一个文本文档(spin.txt)。
spin.css建立
在文件css中新建文本文档spin.txt,在文档中输入如下代码:
html{
background: transparent;
/*背景颜色*/
height: 100%;
}
/*外层容器样式*/
.wrap{
position: relative;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 200px;
height: 200px;
margin: auto;
}
/*包裹所有容器样式*/
.cube{
width: 200px;
height: 200px;
margin: 0 auto;
transform-style: preserve-3d;
transform: rotateX(-30deg) rotateY(-80deg);
-webkit-animation: rotate 20s infinite;
/*匀速*/
animation-timing-function: linear;
}
@-webkit-keyframes rotate{
from{transform: rotateX(0deg) rotateY(0deg);}
to{transform: rotateX(360deg) rotateY(360deg);}
}
.cube div{
position: absolute;
width: 200px;
height: 200px;
opacity: 0.8;
transition: all .4s;
}
/*定义所有图片样式*/
.pic{
width: 200px;
height: 200px;
}
.cube .out_front{
transform: rotateY(0deg) translateZ(100px);
}
.cube .out_back{
transform: translateZ(-100px) rotateY(180deg);
}
.cube .out_left{
transform: rotateY(90deg) translateZ(100px);
}
.cube .out_right{
transform: rotateY(-90deg) translateZ(100px);
}
.cube .out_top{
transform: rotateX(90deg) translateZ(100px);
}
.cube .out_bottom{
transform: rotateX(-90deg) translateZ(100px);
}
/*内层小正方体样式*/
.cube span{
display: bloack;
width: 100px;
height: 100px;
position: absolute;
top: 50px;
left: 50px;
}
.cube .in_pic{
width: 100px;
height: 100px;
}
.cube .in_front{
transform: rotateY(0deg) translateZ(50px);
}
.cube .in_back{
transform: translateZ(-50px) rotateY(180deg);
}
.cube .in_left{
transform: rotateY(90deg) translateZ(50px);
}
.cube .in_right{
transform: rotateY(-90deg) translateZ(50px);
}
.cube .in_top{
transform: rotateX(90deg) translateZ(50px);
}
.cube .in_bottom{
transform: rotateX(-90deg) translateZ(50px);
}
/*鼠标移入后样式*/
.cube:hover .out_front{
transform: rotateY(0deg) translateZ(200px);
}
.cube:hover .out_back{
transform: translateZ(-200px) rotateY(180deg);
}
.cube:hover .out_left{
transform: rotateY(90deg) translateZ(200px);
}
.cube:hover .out_right{
transform: rotateY(-90deg) translateZ(200px);
}
.cube:hover .out_top{
transform: rotateX(90deg) translateZ(200px);
}
.cube:hover .out_bottom{
transform: rotateX(-90deg) translateZ(200px);
}
随后将spin.txt的后缀改为.css,如下:
点击“是”之后spin.css便建立完成,如下:
如果文件后缀被隐藏,可在文件资源管理器中点击“查看”,然 后在文件扩展名前打√即可显示文件后缀。
此处为背景颜色(transparent为透明色)的选择,也可更改为其他颜色,下面是一些HTML及CSS常用的颜色对照表:
此处已为图片设置对应尺寸,因此对于存放在“img”文件中的图片无需刻意去更改尺寸大小。
spin.html建立
将下方代码复制到spin.txt中:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>给小仙女的surprise</title>
<embed src="C:\Users\lenovo\Music\柏松 - 世间美好与你环环相扣 [mqms2].mp3"hidden="true"autostart="true"loop="true">
<link rel="stylesheet" href="css/spin.css" />
</head>
<body>
<!--/*外层容器*/-->
<div class="wrap">
<!--/*包裹所有元素的容器*/-->
<div class="cube">
<!--前图 -->
<div class="out_front">
<img src="img/1.jpg" class="pic"/>
</div>
<!--后图 -->
<div class="out_back">
<img src="img/2.jpg" class="pic"/>
</div>
<!--左图 -->
<div class="out_left">
<img src="img/3.jpg" class="pic"/>
</div>
<div class="out_right">
<img src="img/4.jpg" class="pic"/>
</div>
<div class="out_top">
<img src="img/5.jpg" class="pic"/>
</div>
<div class="out_bottom">
<img src="img/6.jpg" class="pic"/>
</div>
<!--小正方体 -->
<span class="in_front">
<img src="img/7.jpg" class="in_pic" />
</span>
<span class="in_back">
<img src="img/8.jpg" class="in_pic" />
</span>
<span class="in_left">
<img src="img/9.jpg" class="in_pic" />
</span>
<span class="in_right">
<img src="img/10.jpg" class="in_pic" />
</span>
<span class="in_top">
<img src="img/11.jpg" class="in_pic" />
</span>
<span class="in_bottom">
<img src="img/12.jpg" class="in_pic" />
</span>
</div>
</div>
</body>
</html>
随后将spin.txt后缀改为.html,如下:
此处会根据你的默认搜索引擎生成相应的图标(我的默认搜索引擎为QQ浏览器)。
此处是网页的标题(可自行更改):
此处为背景音乐的添加,背景音乐播放模式为循环播放,可根据需要进行更改(歌曲路径)或删除(不使用背景音乐)
此处使用到之前建立的spin.css文件,因此建立.css文件需命名为spin.css。
img文件建立
在img文件中添加所需的12张照片,文件名按顺序命名为1-12,并且图片格式需为jpg。因为spin.html中已经规定:
点击spin.html即可运行(无照片版):
鼠标接触后:
至此,3D旋转相册已制作完成,快给心仪的那个她制作一个吧!