简单的3d照片旋转

效果图:可旋转

实现代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>girl</title>
	</head>
	<style type="text/css">
		*{
			padding: 0;
			margin: 0;
		}
		body{
			background-color: #000000;
		}
		.wrap{
			width: 200px;
			height: 200px;
			/* border: 1px solid green; */
			margin: 0 auto;
			margin-top: 200px;
			/* 定义3D元素距视图的距离,以像素计。
			当为元素定义透视图属性时,其子元素会获得透视效果,而不是元素本身 */
			perspective: 2000px;
		}
		.wrap>.imagesList{
			height: 200px;
			position: relative;
			/* 3D视图 */
			transform-style: preserve-3d;
		}
		.imagesList>img{
			width: 100%;
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
			box-shadow: 0 0 8px 0 #eee;
	    }
		.bottom{
			width: 1000px;
			height: 1000px;
			/* 底部渐变色背景 */
			background: radial-gradient(rgba(102,0,204,0.5)30%,rgba(0,0,0,0)80%);
			position: absolute;
			left: 50%;
			top: 0;
			margin-left: -500px;
			transform: rotateX(90deg);
			margin-top: -300px;
			border-radius: 50%;
		}
	</style>
	<body>
		<div class="wrap">
			<div class="imagesList">
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<img src="img/105.jpg" />
				<div class="bottom"></div>
			</div>
		</div>
	</body>
	<script>
	window.onload=function(){
		var imageList = document.querySelector(".imagesList");
		var images = document.querySelectorAll(".imagesList>img");
		var len = images.length;
		//旋转的度数
		var imgDeg=360/len;
		for( var i=0; i<len;i++){
			images[i].style.transform="rotateY("+imgDeg*i+"deg) translateZ(400px)";
			images[i].style.transition="1.5s linear "+(len-1-i)*0.2+"s";
		}
		
		// 定时器
		var num =0;
		setInterval(function(){
			num++;
			//控制选择速度
			var sleep = num*0.5;
			imageList.style.transform="rotateX(-10deg) rotateY("+sleep+"deg)"
		},30)
	}
	</script>

</html>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值