HTML实现3D相册

2023-10-30

今天,我给大家分享一个3D相册的代码

废话不说先上效果图:

先新建两个文件夹,一个叫css,另一个叫img,如下图:

先新建一个文本文档,输入下面的代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>3D立体动态相册</title>
		<link rel="stylesheet" type="text/css" href="css/css.css"/>
	</head>
	<body>
		<div id="cube">
		<!--外层盒子-->
			<ul>
				<li>
					<img src="img/1.jpg" >
				</li>
				<li>
					<img src="img/2.jpg" >
				</li>
				<li>
					<img src="img/3.jpg" >
				</li>
				<li>
					<img src="img/4.jpg" >
				</li>
				<li>
					<img src="img/5.jpg" >
				</li>
				<li>
					<img src="img/6.jpg" >
				</li>
			</ul>
			<!--内层盒子-->
			<ol>
				<li>
					<img src="img/7.jpg" >
				</li>
				<li>
					<img src="img/8.jpg" >
				</li>
				<li>
					<img src="img/9.jpg" >
				</li>
				<li>
					<img src="img/10.jpg" >
				</li>
				<li>
					<img src="img/11.jpg" >
				</li>
				<li>
					<img src="img/12.jpg" >
				</li>
			</ol>
		</div>
	</body>
</html>

然后保存关闭,将后缀名更改为HTML

再打开css文件夹,新建一个文本文档,输入以下代码:

/*默认样式*/
*{
	margin: 0;
	padding: 0;
}
ol,ul{list-style: none;}

/*外层盒子*/
#cube{
	height: 200px;
	width: 200px;
	/* 将整个盒子至于中间 */
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	/* 这是旋转基点 */
	transform-origin: -550px 550px 100;
	/* 设置景深 */
	perspective:800px; 
	
}

#cube ul{
	width: 200px;
	height: 200px;
	transform-style: preserve-3d;
	animation: rotate1 5s linear infinite;
}
#cube ul img{
	width: 200px;
	height: 200px;
}
#cube ul li{
	width: 200px;
	height: 200px;
	position: absolute;
	/* 设置过渡时间 */
	transition: 2s;
}
#cube ul li:nth-child(1){left: 0;top: 0;opacity: .4;transform: translateZ(100px);}
#cube ul li:nth-child(2){left: 100px;top: 0;transform: rotateY(90deg);opacity: .4;}
#cube ul li:nth-child(3){left: -100px;top: 0;transform: rotateY(-90deg);opacity: .4;}
#cube ul li:nth-child(4){left: 0;top: 100px;transform: rotateX(-90deg);opacity:.4;}
#cube ul li:nth-child(5){left: 0;top: -100px;transform: rotateX(90deg);opacity: .4;}
#cube ul li:nth-child(6){left: 0;top: 0;transform: translateZ(-100px) rotateY(180deg);opacity: .4;} 

/* 内层盒子*/
#cube ol{
	width: 100px;
	height: 100px;
	position: absolute;
	left: 50px;
	top: 50px;
	/* 给内层盒子设置3d空间 */
	transform-style: preserve-3d;
	/* 设置动画 */
	animation: rotate1 5s linear infinite;
}
#cube ol img{
	width: 100px;
	height: 100px;
}
#cube ol li{
	width: 100px;
	height: 100px;
	position: absolute;
}
#cube ol li:nth-child(1){left: 0;top: 0;opacity: .7;transform: translateZ(50px);}
#cube ol li:nth-child(2){left: 100px;top: 0px;transform-origin: left;transform:translateZ(50px) rotateY(90deg);opacity: .7;}
#cube ol li:nth-child(3){left: -100px;top: 0px;transform-origin: right;transform:translateZ(50px) rotateY(-90deg);opacity: .7;}
#cube ol li:nth-child(4){left:0px;top: 100px;transform-origin: top;transform:translateZ(50px) rotateX(-90deg);opacity: .7;}
#cube ol li:nth-child(5){left:0px;top: -100px;transform-origin: bottom;transform:translateZ(50px) rotateX(90deg);opacity: .7;}
#cube ol li:nth-child(6){left:0px;top: 0px;transform: translateZ(-50px) rotateY(180deg);opacity: .7;}

/*外层盒子鼠标移入效果*/
#cube:hover ul li:nth-child(1){transform: translateZ(200px) scale(1.5);opacity: .6;}
#cube:hover ul li:nth-child(2){transform:rotateY(90deg) translateZ(100px) scale(1.5);opacity: .6;}
#cube:hover ul li:nth-child(3){transform:rotateY(-90deg) translateZ(100px) scale(1.5);opacity: .6;}
#cube:hover ul li:nth-child(4){transform:rotateX(-90deg) translateZ(100px) scale(1.5);opacity: .6;}
#cube:hover ul li:nth-child(5){transform:rotateX(90deg) translateZ(100px) scale(1.5);opacity: .6;}
#cube:hover ul li:nth-child(6){transform:rotateY(180deg) translateZ(200px) scale(1.5);opacity: .6;}
/*旋转动画效果*/
@keyframes rotate1{
	0%{transform: rotateY(0);}
	100%{transform: rotateY(360deg);}
}

然后保存关闭,将后缀名更改为css

再打开img文件夹,将图片发在里面,重命名(名字必须与下图一样,否则无法显示图片),如下图:

最后运行那个后缀名为HTML的文件就可以了

我会不定期更新,喜欢的话就关注

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML实现3D相册 的相关文章

  • Matlab:3D 堆积条形图

    我正在尝试创建一个 3D 堆积条形图 如这个问题所示 Matlab 中的 3D 堆叠条形图 https stackoverflow com questions 13156133 3d stacked bars in matlab 5D 然而
  • Angular UI select:从远程服务获取数据

    我正在使用角度用户界面选择 https github com angular ui ui select https github com angular ui ui select 我查看了演示的可用位置这个笨蛋 http plnkr co
  • CSS 无法从带有 php“includes”的相对路径工作

    文件夹结构 index php includes header html css style css 我的主项目文件夹中有 2 个子文件夹 一个是名为 includes 的文件夹 另一个名为 css 我有我的 index php主文件夹中的
  • 改变for循环的顺序?

    我遇到一种情况 我需要根据用户输入以不同的顺序循环遍历 xyz 坐标 所以我是 3D 空间中的一个区域 然后是一组像这样的 for 循环 for int x 0 x lt build getWidth x for int y 0 y lt
  • 电话输入自动填充会删除国际前缀

    我有一个类型为 tel 的输入字段 并启用了自动完成功能
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • 使用纯 CSS 创建向上和向下箭头图标或按钮

    我正在尝试使用纯 CSS 且无背景图像创建如下所示的 向上和向下 控制按钮 但是当我在 中添加箭头的CSS时li className after or li className before 主盒子的位置移动了 这是我遇到的问题的小提琴 g
  • Quill 公开可用的 CSS

    我最初的目的是从 PrimeFaces TextEditor 组件输出的 HTML 生成 PDF 文件 而该组件又基于 免费开源 WYSIWYG 编辑器 Quill 为此 我需要获取 TextEditor 组件生成的 HTML 将其包含在
  • 如何让CSS选择以字符串开头的ID(不是Javascript)?

    如果 HTML 中有这样的元素 id product42 id product43 如何匹配所有以 product 开头的 id 我已经看到了完全使用 javascript 执行此操作的答案 但是如何仅使用 CSS 执行此操作 id pro
  • 电子邮件链接在 Android 上不起作用

    我有 HTML 格式的点击电子邮件链接的代码 它在我的电脑上运行良好 但在移动设备上不起作用 我只有 Android 所以我不知道问题是否仅在 Android 上或所有移动设备上 当我按下链接时 浏览器显示 网页无法显示 邮寄至 电子邮件受
  • 重新加载更新的 javascript> 代码而不完全重新加载 html 页面

    我正在开发一个单页 Web 应用程序 它具有许多不同的功能和形式 当开发一个深度 我的意思是主页上没有的 功能时 我会经历这个循环 开发代码 编辑类和函数 刷新整个页面 一路点击 直到到达我需要测试的部分 有时加起来大约一分钟 测试新代码
  • 未捕获的 TypeMismatchError:无法在“CanvasRenderingContext2D”上执行“drawImage”

    我对以下代码片段有疑问 var o inserted motive find span contains document documentElement o 0 b fillText m i h b drawImage d i h e f
  • 如何在bootstrap中默认隐藏侧边栏?

    我在这里有一个很好的参考 作为 Bootstrap 在设计 Web 表单应用程序时的侧边栏 http startbootstrap com template overviews simple sidebar http startbootst
  • 您可以将现有的 div 复制到模式对话框吗

    我有一个带有多个面板的仪表板来显示不同的信息 我希望能够添加一个按钮来以模式显示面板 我正在使用引导程序 我所能找到的只是已经编写的模态 我想复制作为面板的 div 标签的内容 然后将其显示在模型中 但我不确定如何进行 该面板的 html
  • 为什么网格项目不居中?

    由于某种原因 两个输入范围使网格中的前两项偏离中心 我假设这是因为它们的影子 DOM 样式 事实真的是这样吗 有谁知道为什么范围使项目 A 和 B 偏离中心 这是一个代码笔 https codepen io tOkyO1 pen QOeKL
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • 使用 CSS 覆盖透明 div 中的不透明文本

    我试图使透明 div 内的文本没有不透明度 也就是全黑 div style background 3cc p style background 000 This text should be all black p div 只用 CSS 就
  • 如何使用 JavaScript 获取元素的填充值?

    我有一个textarea在我的 HTML 中 我需要获取整数或浮点形式的填充数值 以像素为单位 我如何使用 JavaScript 获取它 我没有使用 jQuery 所以我正在寻找纯 JavaScript 解决方案 这将返回padding l
  • 如何:带有 onclick 的 div 位于另一个带有 onclick 的 div 中

    只是一个简单的问题 我遇到了 div 与 onclick javascript 之间的问题 当我点击内部 div 时 它应该只触发它的 onclick javascript 但外部 div 的 javascript 也会被触发 用户如何点击

随机推荐

  • Vue 打包优化之 externals 抽离公共的第三方库

    使用 vue cli 脚手架构建的 Vue 全家桶项目 默认配置下 打包后会把 vue vue router axios vuex element ui echarts 等公共库打包在一起 导致基础 chunk vendor 包体积特别大
  • 日语五十音图快速记忆

    王进 https www bilibili com video av3120841
  • vue实现pdf预览

    需求说明 实现一个通过vue 预览pdf 并支持滚动加载 可下载的插件 一 下载插件 vue pdf npm install save vue pdf 二 创建组件 在src components 下创建pdfAll vue
  • boost::asio 网络传输错误码的一些实验结果(recv error_code)

    boost asio网络传输错误码的一些实验结果 recv error code 错误码很重要 可以由此判断网络连接到底发生了神马事情 从而驱动高层逻辑的行为 只有笼统的错误码判断的网络层是不够规范的 鄙人觉得有些错误码还是需要在网络层就区
  • 单位矩阵的逆矩阵是它本身吗_【2.4】Gauss-Jordan消元法求矩阵的逆

    我们在高斯消元法的时候定义过最主要的一种消元操作 用某行减去另一行的 倍 并且我们知道 这个操作可以通过消除矩阵 左乘系数矩阵 实现 我们还提到某些主元为 的时候可能需要交换矩阵的两行 这个操作可以通过置换矩阵 左乘 实现 总结一下 我们可
  • 真题详解(有限自动机)-软件设计(七十七)

    确定有限自动机 和 不确定有限自动机 解析 M1的A当0的时候 会变成A 也可能变成B 所以M1是不确定有限自动机 M2的A1的时候只会使A 0的时候只会是B B的0只会是B 1的时候只会是C C0的时候只会是B 1的时候只会是A 所以M2
  • 【ubuntu22.04】解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题

    ubuntu22 04 解决VMware workstation共享文件夹在Ubuntu虚拟机不显示的问题 问题描述 我按照网络上的教程 在VMware workstation设置了共享文件夹 但是在我的ubuntu虚拟机内无法显示所设置的
  • STM32F407二维码识别(使用内部RAM+无FIFO摄像头OV7670

    STM32F407二维码识别 使用内部RAM 无FIFO摄像头OV7670 要点 1 摄像头配置 无FIFO的摄像头需要注意时钟配置和窗口配置 否则不能出图像 2 DCMI配置 DCMI需要配置成DMA传输模式和使用行场中断进行图像数据采集
  • DNS原理及解析过程详解

    目录 1 域名系统概述 2 因特网的域名结构 3 域名服务器 4 域名的解析原理过程 4 1 DNS解析原理 4 2 域名解析过程 5 查询过程 5 1 演示整个查询过程 5 2 关于DNS解析的TTL参数 5 3 IP地址分类 1 域名系
  • ArcGIS操作小技巧(五)之色带-----横向(水平)图例

    ArcGIS在制图出图时 对于一类要素要有一个变化的过程 使用色带作为图例展示 就显的非常专业 使用水平色带来展示渐变过程 非常的美观 本示例记录了水平色带的创建过程 一 导入数据 设置属性 gt 符号系统 gt 拉伸 gt 标注 二 打开
  • 数据结构:链表的一些经典的OJ题目,环形链表问题

    文章目录 写在前面 链表OJ调试技巧 移除链表元素 反转链表 链表的中间节点 链表中倒数第K个节点 链表分割问题 环形链表 写在前面 本篇为本人学习链表的过程中遇到的典型OJ题 于是整理出来分享思路和便于后续重新学习 每个标题均可跳转至对应
  • OpenFeign 如何设置动态 URL?

    如果你利用 Spring Cloud OpenFeign 进行服务间调用一般会加入这个注解 FeignClient name url http myapp com path 可以看出其中的 url 参数是一个字符串 上面的配置是把它写 死
  • warning: ‘p’ may be used uninitialized in this function

    warning p may be used uninitialized inthis function 原因 你定义了一个指针变量 只能用来保存地址 如果这个地址所指向的空间不是系统分配给它的 那么你对这块内存的赋值是非法的 正确定义 in
  • 安装SQL2012出现[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1

    本人安装SQL2012出现这个错误 找了三天三夜 终于把问题找出来 共享给有需要的人们 不用重新换系统 错误如下 1 此问题是系统 net Framework版本冲突 首先下载 net Framework清理工具 如 cleanup too
  • C++学习(三八八)Doxygen

    Doxygen 是一个 C C Java Objective C Python IDL CORBA 和 Microsoft flavors Fortran VHDL PHP C 和D语言的文档生成器 可以运行在大多数类Unix系统 以及Ma
  • Java中,定时任务Timer使用缺陷

    缺陷主要有2点 1 管理并发任务的缺陷 timer有且仅有一个线程去执行定时任务 如果存在多个任务 且任务时间过长 会导致执行效果与预期不符 2 当任务抛出异常时的缺陷 如果TimerTask抛出RuntimeException Timer
  • Flutter Card踩坑经历

    Card包含的Column的Text文本显示居中 且设置textAlign TextAlign start无效 在Column添加属性 crossAxisAlignment CrossAxisAlignment start
  • Python的MySQL库,fetchone,fetchall,fetchmany的比较

    fetchone 返回一条记录 row 一维元组 如 小李 21 如果没有结果 则返回 None 再次调用fetchone 则继续返回下一条记录 直到为空 fetchmany 返回指定的前n条记录 二维元组 如fetchmany 3 获取前
  • JavaWeb项目运维部署

    一 项目部署介绍 Web项目网络拓扑图 部署目录介绍 项目目录 home projectName 启动文件目录 home projectName bin 后端项目 home projectName target Web前端资源 home p
  • HTML实现3D相册

    今天 我给大家分享一个3D相册的代码 废话不说先上效果图 先新建两个文件夹 一个叫css 另一个叫img 如下图 先新建一个文本文档 输入下面的代码 div ul li img src img 1 jpg li ul div