3D相册的制作

定位
必须有定位,left和top才会生效
1.相对定位:元素相对于它起点位置进行移动,参照物是它原来的位置
postion:relative
left:100px;
top:100px;
2.固定定位:
将某个元素固定在浏览器的某个位置,固定定位的位置是相对于浏览器的
固定在可视化范围内,距离上边缘和左边缘
postion:fixed;
left:100px;
top:100px;
3.绝对定位:
绝对定位的参照物是父元素,但前提是父元素有定位,如果父元素没有定位则一直往上找,直到找到有定位的祖先元素,如果没有找到,则参照物是浏览器窗口.
postiton:absolute;
left:100px;
top:100px;

盒子模型
https://www.cnblogs.com/smyhvae/p/7256371.html
属性:weight,height,padding,border,margin
weight,height:内容的宽度和高度
padding:内边距
border:边框
margin:外边距
在这里插入图片描述在这里插入图片描述

.hezi{
weight:100px;
height:100px;
border:5px solid red;(边框像素为5px,实线,红色)
padding:5px;
margin:10px;
}
注:margin是两个元素之间的距离
浮动:可以使两个元素在一列上(不写浮动默认的实在一列上)
float:left;

制作一个3D旋转相册
1.选十张图片
2.建一个div(盒子)来装10张图片
3.设置盒子的属性
此步骤需要注意的是默认的图片会在屏幕的最左边依次显示,要想使图片在中间显示有个固定的技巧:
postion:absolute;
margin:auto;
left:0;
right:0;
top:0;
bottom:0;
4.统一图片的大小:后代选择器
.box img{
width;100px;
height:100px;
}
5.完成上述步骤后图片是从上至下依次显示出来的,我们需要把图片叠在一起:
postion:absolute;
.box img{
postion:absolute;(将图片叠在一起)
width;100px;
height:100px;
}
6.增加一个3D效果:
transform-style: preserve-3d;
7.将图片扯开形成一个360°的圆:子元素选择器
/子元素选择器/
.box img:nth-child(1){
/开始翻转/
transform: rotateY(0deg) translateZ(280px);/translateZ;将图片撑开/
}
.box img:nth-child(2){
transform: rotateY(36deg) translateZ(280px);

		}
		.box img:nth-child(3){
			transform: rotateY(72deg)  translateZ(280px);
		}
			.box img:nth-child(4){
			transform: rotateY(108deg)  translateZ(280px);
		}
		
		.box img:nth-child(5){
			transform: rotateY(144deg)  translateZ(280px);
		}
		.box img:nth-child(6){
			transform: rotateY(180deg)  translateZ(280px);
		}
		.box img:nth-child(7){
			transform: rotateY(216deg)  translateZ(280px);
		}
		.box img:nth-child(8){
			transform: rotateY(252deg)  translateZ(280px);
		}
		.box img:nth-child(9){
			transform: rotateY(288deg)  translateZ(280px);
		}
		.box img:nth-child(10){
			transform: rotateY(324deg)  translateZ(280px);
		}

8.图片全部撑开之后开始让它动起来:添加动画
//动画的名字,动画的时间,动画是否匀速,动画是否重复运行
animation: dong 7s linear infinite;
@keyframes dong{
0%{
transform: rotateX(20deg) rotateY(0deg) scale(1);/scale改变物体大小/

			}
			25%{
				transform: rotateX(0deg) rotateY(90deg);
			}
			50%{
				transform: rotateX(-20deg) rotateY(180deg);
			}
			75%{
				transform: rotateX(0deg) rotateY(270deg);
			}
			100%{
				transform: rotateX(20deg) rotateY(360deg) scale(2);
			}
		}

9.加背景图:
body{
/设置背景图片全都显示/
background-image: url(img/bg2.jpg);
background-size: 100% 100%;
background-attachment: fixed;
}
#gou{
position: absolute;
bottom: 0;
right: 0;
}
10.加背景音乐:
audio autoplay=“autoplay”
source src=“img/1111.mp3”
audio

制作3D旋转相册可以使用HTML、CSS、JavaScript和一些图像处理工具。以下是一个简单的HTML代码示例,可以用来创建一个基本的3D旋转相册: ```html <!DOCTYPE html> <html> <head> <title>3D旋转相册</title> <style> /* 设置相册容器 */ #album { perspective: 1000px; transform-style: preserve-3d; width: 500px; height: 500px; margin: 0 auto; } /* 设置相册中图片的样式 */ .photo { position: absolute; width: 300px; height: 300px; margin: 0 auto; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); border-radius: 10px; transform-style: preserve-3d; transition: all 1s ease-in-out; } /* 设置相册中图片的位置 */ .photo:nth-child(1) { transform: rotateY(0deg) translateZ(250px); } .photo:nth-child(2) { transform: rotateY(60deg) translateZ(250px); } .photo:nth-child(3) { transform: rotateY(120deg) translateZ(250px); } .photo:nth-child(4) { transform: rotateY(180deg) translateZ(250px); } .photo:nth-child(5) { transform: rotateY(240deg) translateZ(250px); } .photo:nth-child(6) { transform: rotateY(300deg) translateZ(250px); } /* 鼠标悬停时放大图片 */ .photo:hover { transform: scale(1.2); } </style> </head> <body> <div id="album"> <img class="photo" src="photo1.jpg"> <img class="photo" src="photo2.jpg"> <img class="photo" src="photo3.jpg"> <img class="photo" src="photo4.jpg"> <img class="photo" src="photo5.jpg"> <img class="photo" src="photo6.jpg"> </div> <script> // 旋转相册 var album = document.getElementById('album'); var photos = document.getElementsByClassName('photo'); var angle = 0; setInterval(function() { angle += 1; album.style.transform = 'rotateY(' + angle + 'deg)'; }, 50); </script> </body> </html> ``` 在这个示例中,我们创建了一个名为“album”的div容器,用于包含所有的照片。每张照片都是一个名为“photo”的img元素,其位置和旋转角度通过CSS的transform属性进行设置。我们使用JavaScript来控制相册的旋转角度,使其每50毫秒旋转1度。 你可以将这个示例代码复制到一个HTML文件中,并将其中的图片链接替换成你自己的图片链接,然后打开这个HTML文件即可看到一个简单的3D旋转相册。你可以进一步优化和扩展这个相册,例如增图片数量、添照片描述、改变相册的背景等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值