今天这篇博客就分享下前端代码如何实现3D立体动态相册。赶紧学会了,来制作属于我们程序员的浪漫吧!先上效果图,来引起下你们的兴趣。

正文:
一、新建一个index.html的文件,代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link rel="stylesheet" href="./3D.css" />
</head>
<body>
<section>
<img src="./img/01.jpeg" alt="">
<img src="./img/06.jpeg" alt="">
<img src="./img/03.jpeg" alt="">
<img src="./img/04.jpeg" alt="">
<img src="./img/05.jpeg" alt="">
<img src="./img/02.jpeg" alt="">
</section>
</body>
</html>
二、css样式的代码
body {
background-color: #000;
/* 视距 */
perspective: 900px;
}
section {
margin: 20vh auto;
position: relative;
width: 200px;
height: 400px;
/* 开启3D空间 */
transform-style: preserve-3d;
/* 动画:动画名 一次动画时间 平稳 无限循环 */
animation: rotate 20s linear infinite;
}
section img {
width: 250px;
height: 400px;
/* 设置定位,先将图片都放在同一位置 */
position: absolute;
left: 0;
top: 0;
}
/* 让第一个img子元素竖直旋转0度,向外推100px(因为盒子边长200px),其他同理 */
section img:nth-child(1) {
transform: rotateY(0deg) translateZ(100px);
}
section img:nth-child(2) {
transform: rotateY(90deg) translateZ(100px);
}
section img:nth-child(3) {
transform: rotateY(180deg) translateZ(100px);
}
section img:nth-child(4) {
transform: rotateY(270deg) translateZ(100px);
}
section img:nth-child(5) {
transform: rotateX(90deg) translateZ(100px);
}
section img:nth-child(6) {
transform: rotateX(-90deg) translateZ(100px);
}
section img:nth-child(1) {
transform: rotateY(0deg) translateZ(240px);
}
section img:nth-child(2) {
transform: rotateY(60deg) translateZ(240px);
}
section img:nth-child(3) {
transform: rotateY(120deg) translateZ(240px);
}
section img:nth-child(4) {
transform: rotateY(180deg) translateZ(240px);
}
section img:nth-child(5) {
transform: rotateY(240deg) translateZ(240px);
}
section img:nth-child(6) {
transform: rotateY(300deg) translateZ(240px);
}
@keyframes rotate {
0% {
transform: rotateY(0deg);
}
100% {
transform: rotateY(360deg);
}
}

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

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

五、容易出现的问题 ,图片展示不全或展示的方向不对
1.图片尺寸需要修改 (解决展示不全的情况)
上图是我的图片文件夹里放的图片 ,首先01-06编号命名的图片尺寸是100x100px的大小的,1-6编号是400x400px,如果效果想展示最佳,100x100px的图片是以头部特写的照片最好,因为01-06是立体照片内部小正方体的照片,1-6编号是外部正方体的照片。
2.图片的方向需要修改(解决头朝下的问题)
修改的方向如上图展示所示,比如第三张头就应该朝下,否则形成的效果图像会出现头是倒着的情况。
六、放一下动态效果图

总结:
生活虽然总有辛酸,但是我们不应该减少去创造生活的乐趣,不断寻找属于自己的那份快乐,才应该是我们生活的态度。如果是非技术的朋友看到这篇博客,发现不会弄,可以直接留言要代码包,自己替换下图片就可以啦。
我是三木c,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有525位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!
本文介绍如何使用HTML和CSS创建一个3D立体动态相册,通过调整图片尺寸和角度,实现旋转展示效果。步骤包括设置HTML结构、CSS样式以及处理可能出现的展示问题。适合前端开发者学习,也可直接获取代码包替换图片使用。
4万+

被折叠的 条评论
为什么被折叠?



