HTML5——3D立方体旋转动画

效果图:

代码如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>基于CSS3的3D立方体旋转动画又一版本</title>
	<style >
      *{box-sizing: border-box;	}

	html{
		background: radial-gradient(center, ellipse, #430d6d 0%, #000000 100%);
        height: 100%;
		}

	body{
		width: 20em;
		height: 20em;
		left: 50%;
		margin-left: -10em;
		margin-top: -10em;
		perspective: 1000px;
		position: absolute;
		top: 50%;

	}

	#cube{
		animation: 6s spin linear infinite;
		height: 100%;
		position: absolute;
		transform-style: preserve-3d;
		width: 100%;
	}

	#cube *{
		background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), linear-gradient(0deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px);
		
		background-size: 2.5em 2.5em, 2.5em 2.5em;
		background-color: rgba(0, 0, 0, 0.5);
		border: 2px solid rgba(54, 226, 248, 0.5);
		box-shadow: 0 0 5em rgba(0, 128, 0, 0.4);
		display: block;
		height: 20em;
		position: absolute;
		width: 20em;
	}

	#cube *:before{
		background: radial-gradient(center, ellipse, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%);
		content: '';
		height: 100%;
		position: absolute;
		width: 100%;
	}

	#back{transform: rotateX(180deg) translateZ(10em);}
	#front{transform: rotateY(0deg) translateZ(10em);}
	#bottom{transform: rotateX(-90deg) translateZ(10em);}
	#left{transform: rotateY(-90deg) translateZ(10em);}
	#right{transform: rotateY(90deg) translateZ(10em);}
	#top{transform: rotateX(90deg) translateZ(10em);	}

	@keyframes spin{		
		0%{	transform: translateZ(-10em) rotateX(0) rotateY(0deg);}
		100%{transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);}
		}

	 </style>
</head>

<body>
	 <ul id="cube">
	 	<li id="back"></li>
	 	<li id="bottom"></li>
	 	<li id="front"></li>
	 	<li id="left"></li>
	 	<li id=right"></li>
	 	<li id="top"></li>
	 </ul>
</body>
</html>

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,下面是一个简单的示例代码,实现了一个基本的3D立方体旋转相册,您可以参考一下: HTML代码: ``` <div class="container"> <div class="box"> <div class="front"></div> <div class="back"></div> <div class="left"></div> <div class="right"></div> <div class="top"></div> <div class="bottom"></div> </div> </div> ``` CSS代码: ``` .container { perspective: 800px; margin: 0 auto; width: 300px; height: 300px; } .box { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: all 1s ease; } .box:hover { transform: rotateY(360deg); } .front, .back, .left, .right, .top, .bottom { position: absolute; width: 100%; height: 100%; border: 2px solid #fff; box-sizing: border-box; background-position: center; background-size: cover; } .front { transform: translateZ(150px); background-image: url(front.jpg); } .back { transform: rotateY(180deg) translateZ(150px); background-image: url(back.jpg); } .left { transform: rotateY(-90deg) translateZ(150px); background-image: url(left.jpg); } .right { transform: rotateY(90deg) translateZ(150px); background-image: url(right.jpg); } .top { transform: rotateX(90deg) translateZ(150px); background-image: url(top.jpg); } .bottom { transform: rotateX(-90deg) translateZ(150px); background-image: url(bottom.jpg); } ``` 在这段代码中,我们使用了CSS3的`transform`属性来控制立方体旋转和平移,`transition`属性实现了过渡效果。通过设置`background-image`属性来添加图片,相册中的每一个面都有独立的图片。 您可以根据您的需要,修改图片和样式,来创建您自己的3D立方体旋转相册。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流萤数点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值