1. 首页
  2. IT资讯

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

前言:

圣诞节快到了,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现3D立体动态相册。赶紧学会了,来制作属于我们程序员的浪漫吧!先上效果图,来引起下你们的兴趣。

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

正文:

一、新建一个index.html的文件,代码如下

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>纯CSS实现鼠标经过3D立体动态展示图片特效代码</title> <link type="text/css" href="css/style.css" rel="stylesheet" /> </head> <body> <div class="box"> 	<ul class="minbox"> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 	</ul> 	<ol class="maxbox"> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 		<li></li> 	</ol> </div> </body> </html>

二、css样式的代码

@charset "utf-8"; *{ 	margin:0; 	padding:0; } body{ 	max-width: 100%; 	min-width: 100%; 	height: 100%; 	background-size: cover; 	background-repeat: no-repeat; 	background-attachment: fixed; 	background-size:100% 100%; 	position: absolute; 	margin-left: auto; 	margin-right: auto; } li{ 	list-style: none; } .box{ 	width:200px; 	height:200px; 	background-size: cover; 	background-repeat: no-repeat; 	background-attachment: fixed; 	background-size:100% 100%; 	position: absolute; 	margin-left: 42%; 	margin-top: 22%; 	-webkit-transform-style:preserve-3d; 	-webkit-transform:rotateX(13deg); 	-webkit-animation:move 5s linear infinite; } .minbox{ 	width:100px; 	height:100px; 	position: absolute; 	left:50px; 	top:30px; 	-webkit-transform-style:preserve-3d; } .minbox li{ 	width:100px; 	height:100px; 	position: absolute; 	left:0; 	top:0; } .minbox li:nth-child(1){ 	background: url(../img/01.png) no-repeat 0 0; 	-webkit-transform:translateZ(50px); } .minbox li:nth-child(2){ 	background: url(../img/02.png) no-repeat 0 0; 	-webkit-transform:rotateX(180deg) translateZ(50px); } .minbox li:nth-child(3){ 	background: url(../img/03.png) no-repeat 0 0; 	-webkit-transform:rotateX(-90deg) translateZ(50px); } .minbox li:nth-child(4){ 	background: url(../img/04.png) no-repeat 0 0; 	-webkit-transform:rotateX(90deg) translateZ(50px); } .minbox li:nth-child(5){ 	background: url(../img/05.png) no-repeat 0 0; 	-webkit-transform:rotateY(-90deg) translateZ(50px); } .minbox li:nth-child(6){ 	background: url(../img/06.png) no-repeat 0 0; 	-webkit-transform:rotateY(90deg) translateZ(50px); } .maxbox li:nth-child(1){ 	background: url(../img/1.png) no-repeat 0 0; 	-webkit-transform:translateZ(50px); } .maxbox li:nth-child(2){ 	background: url(../img/2.png) no-repeat 0 0; 	-webkit-transform:translateZ(50px); } .maxbox li:nth-child(3){ 	background: url(../img/3.png) no-repeat 0 0; 	-webkit-transform:rotateX(-90deg) translateZ(50px); } .maxbox li:nth-child(4){ 	background: url(../img/4.png) no-repeat 0 0; 	-webkit-transform:rotateX(90deg) translateZ(50px); } .maxbox li:nth-child(5){ 	background: url(../img/5.png) no-repeat 0 0; 	-webkit-transform:rotateY(-90deg) translateZ(50px); } .maxbox li:nth-child(6){ 	background: url(../img/6.png) no-repeat 0 0; 	-webkit-transform:rotateY(90deg) translateZ(50px); } .maxbox{ 	width: 800px; 	height: 400px; 	position: absolute; 	left: 0; 	top: -20px; 	-webkit-transform-style: preserve-3d; 	 } .maxbox li{ 	width: 200px; 	height: 200px; 	background: #fff; 	border:1px solid #ccc; 	position: absolute; 	left: 0; 	top: 0; 	opacity: 0.2; 	-webkit-transition:all 1s ease; } .maxbox li:nth-child(1){ 	-webkit-transform:translateZ(100px); } .maxbox li:nth-child(2){ 	-webkit-transform:rotateX(180deg) translateZ(100px); } .maxbox li:nth-child(3){ 	-webkit-transform:rotateX(-90deg) translateZ(100px); } .maxbox li:nth-child(4){ 	-webkit-transform:rotateX(90deg) translateZ(100px); } .maxbox li:nth-child(5){ 	-webkit-transform:rotateY(-90deg) translateZ(100px); } .maxbox li:nth-child(6){ 	-webkit-transform:rotateY(90deg) translateZ(100px); } .box:hover ol li:nth-child(1){ 	-webkit-transform:translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } .box:hover ol li:nth-child(2){ 	-webkit-transform:rotateX(180deg) translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } .box:hover ol li:nth-child(3){ 	-webkit-transform:rotateX(-90deg) translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } .box:hover ol li:nth-child(4){ 	-webkit-transform:rotateX(90deg) translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } .box:hover ol li:nth-child(5){ 	-webkit-transform:rotateY(-90deg) translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } .box:hover ol li:nth-child(6){ 	-webkit-transform:rotateY(90deg) translateZ(300px); 	width: 400px; 	height: 400px; 	opacity: 0.8; 	left: -100px; 	top: -100px; } @keyframes move{ 	0%{ 		-webkit-transform: rotateX(13deg) rotateY(0deg); 	} 	100%{ 		-webkit-transform:rotateX(13deg) rotateY(360deg); 	} }

三、文件的目录结构,把css文件放到css文件夹里,图片放到img文件夹里。

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

四、图片尺寸不会修改的,可以选择使用美图秀秀网页版很简单

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

五、容易出现的问题 ,图片展示不全或展示的方向不对

1.图片尺寸需要修改 (解决展示不全的情况)

上图是我的图片文件夹里放的图片 ,首先01-06编号命名的图片尺寸是100x100px的大小的,1-6编号是400x400px,如果效果想展示最佳,100x100px的图片是以头部特写的照片最好,因为01-06是立体照片内部小正方体的照片,1-6编号是外部正方体的照片。

2.图片的方向需要修改(解决头朝下的问题)

修改的方向如上图展示所示,比如第三张头就应该朝下,否则形成的效果图像会出现头是倒着的情况。

六、放一下动态效果图

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

总结:

生活虽然总有辛酸,但是我们不应该减少去创造生活的乐趣,不断寻找属于自己的那份快乐,才应该是我们生活的态度。

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以添加我的web前端交流群:600610151 即可免费获取。

抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

原文链接:blog.csdn.net/jdk_wangt

原文始发于:抖音上很火的3D立体动态相册实现代码!赶快学起来吧!

主题测试文章,只做测试使用。发布者:玩家L-,转转请注明出处:http://www.cxybcw.com/21007.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code