3D照片墙效果

        大家好,今天我们来做一个好看的3D照片墙效果,这个案例主要运用的是css3的动画效果来实现。

        这个哪里主要运用了c3的旋转,通过rotateY()旋转图片的y轴,改变图片的z轴translateZ()位置来实现图片的3d效果。

        为了是照片墙看起来更加立体,我们可以使用transform-style: preserve-3d;属性来给照片墙添加效果,但是单纯加一个preserve-3d属性还是不够的,还要加一个perspective属性,他的作用是让照片墙出现近大远小的效果,值越大效果越明显。

 不废话,上代码!!!

<!DOCTYPE html>
<html>

<head lang="en">
	<meta charset="UTF-8" />
	<title>3D旋转相册</title>
	<style type="text/css">
		* {
			padding: 0;
			margin: 0;
		}

		body {
			/* 设置perspective值的大小来控制照片墙的近大远小效果 */
			perspective: 2000px;
		}

		.box {
			width: 200px;
			height: 200px;
			/* 给盒子相对定位 */
			position: relative;
			/* 让盒子居中并让他与上边有一定的距离 */
			margin: 300px auto;
			/* 添加3d效果,使其有空间感 */
			transform-style: preserve-3d;
			/* 设置动画效果,给动画起一个名字,设置旋转动画的时间 ,让动画从头到尾的速度是相同的并让他无限循环播放*/
			animation: go 40s linear infinite;
		}

		/* 设置图片的大小,并给他绝对定位 */
		.box img {
			width: 380px;
			height: 240px;
			position: absolute;
			/* 这里我给了一个样式,让图片出现圆角 */
			border-radius: 30px;
		}

		/* 因为我们的图片很多,一个一个的加class名字太麻烦了,所以我们可以使用选择器来选择图片 */
		.box img:nth-child(1) {
			/* rotateY()用于旋转图片的y轴,translateZ()用于设置图片的z轴位置,如果不设置的话会使图片重叠到一起 */
			transform: rotateY(0deg) translateZ(500px);
		}

		.box img:nth-child(2) {
			transform: rotateY(45deg) translateZ(500px);
		}

		.box img:nth-child(3) {
			transform: rotateY(90deg) translateZ(500px);
		}

		.box img:nth-child(4) {
			transform: rotateY(135deg) translateZ(500px);
		}

		.box img:nth-child(5) {
			transform: rotateY(180deg) translateZ(500px);
		}

		.box img:nth-child(6) {
			transform: rotateY(225deg) translateZ(500px);
		}

		.box img:nth-child(7) {
			transform: rotateY(270deg) translateZ(500px);
		}

		.box img:nth-child(8) {
			transform: rotateY(315deg) translateZ(500px);
		}


		@keyframes go {
			0% {
				transform: rotateY(0deg);
			}

			100% {
				transform: rotateY(360deg);
			}
		}
	</style>
</head>

<body>
	<div class="box">
		<img src="./zye_img/1.jpg" />
		<img src="./zye_img/2.jpg" />
		<img src="./zye_img/3.jpg" />
		<img src="./zye_img/4.jpg" />
		<img src="./zye_img/5.jpg" />
		<img src="./zye_img/6.jpg" />
		<img src="./zye_img/7.jpg" />
		<img src="./zye_img/8.jpg" />
	</div>
</body>

</html>

我做的这个可能还有缺陷还请大家指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值