旋转3D盒子

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Title</title>
	<style>
		html {
			perspective: 800px;
		}
		.cube {
			width: 200px;
			height: 200px;
			margin: 100px auto;
			transform-style: preserve-3d;
			animation: scoll 10s linear infinite;
		}
		.cube div {
			width: 200px;
			height: 200px;
			opacity: 0.7;
			position: absolute;
		}
		img {
			vertical-align: top;
		}
		.box1 {
			transform: rotateY(90deg) translateZ(100px);
		}
		.box2 {
			transform: rotateY(-90deg) translateZ(100px);
		}
		.box3 {
			transform: rotateX(90deg) translateZ(100px);
		}
		.box4 {
			transform: rotateX(-90deg) translateZ(100px);
		}
		.box5 {
			transform: rotateY(180deg) translateZ(100px);
		}
		.box6 {
			transform: rotateX(0) translateZ(100px);
		}
		@keyframes scoll {
			from {
				transform: rotateX(0) rotateZ(0);
			}
			to {
				transform: rotateX(360deg) rotateZ(360deg);
			}
		}
	</style>
</head>
<body>
	<!-- 需要引入六张图片-->
	<div class="cube">
		<div class="box1">
			<img src="img/1.jpg" />
		</div>
		<div class="box2">
			<img src="img/2.jpg" />
		</div>
		<div class="box3">
			<img src="img/3.jpg" />
		</div>
		<div class="box4">
			<img src="img/4.jpg" />
		</div>
		<div class="box5">
			<img src="img/5.jpg" />
		</div>
		<div class="box6">
			<img src="img/6.jpg" />
		</div>
	</div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于jQuery和Vue的3D盒子旋转代码的示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>3D盒子旋转</title> <style> .container { position: relative; width: 400px; height: 400px; margin: 0 auto; perspective: 1000px; } .box { position: absolute; width: 100%; height: 100%; transform-style: preserve-3d; animation: rotate 10s infinite linear; } .box .side { position: absolute; width: 100%; height: 100%; background-size: cover; background-position: center; backface-visibility: hidden; } .box .front { transform: translateZ(200px); background-image: url('front.jpg'); } .box .back { transform: rotateY(180deg) translateZ(200px); background-image: url('back.jpg'); } .box .left { transform: rotateY(-90deg) translateZ(200px); background-image: url('left.jpg'); } .box .right { transform: rotateY(90deg) translateZ(200px); background-image: url('right.jpg'); } .box .top { transform: rotateX(90deg) translateZ(200px); background-image: url('top.jpg'); } .box .bottom { transform: rotateX(-90deg) translateZ(200px); background-image: url('bottom.jpg'); } @keyframes rotate { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } } </style> </head> <body> <div id="app"> <div class="container"> <div class="box"> <div class="side front"></div> <div class="side back"></div> <div class="side left"></div> <div class="side right"></div> <div class="side top"></div> <div class="side bottom"></div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> new Vue({ el: '#app', methods: { uploadImg: function(event, index) { var file = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { var imgData = e.target.result; $('.box .side').eq(index - 1).css('background-image', 'url(' + imgData + ')'); } reader.readAsDataURL(file); } } }); </script> </body> </html> ``` 该代码实现了一个3D盒子旋转的效果,盒子的六个面可以分别设置不同的图片。其中,`.container`是盒子的容器,`.box`是盒子本身,`.side`是盒子的六个面,`.front`、`.back`、`.left`、`.right`、`.top`、`.bottom`分别代表盒子的前、后、左、右、上、下六个面。通过设置`transform`属性和`animation`属性,实现了盒子旋转效果。 此外,代码中还包含了一个`uploadImg`方法,用于上传图片并设置盒子的面的背景图片。该方法使用了jQuery的选择器和Vue的事件绑定,可以根据需要进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值