HTML+CSS实现超酷超炫的3D立方体相册

embedded/2024/10/24 8:26:13/

效果演示

HTML和CSS实现一个简单的3D立方体加载动画的相册。它使用了HTML来构建立方体的结构,并通过CSS来添加样式和动画效果。
在这里插入图片描述

HTML

html"><div class="loader3d"><div class="cube"><div class="face"><img src="../../static/test.jpg" alt=""></div><div class="face"><img src="../../static/test.jpg" alt=""></div><div class="face"><img src="../../static/test.jpg" alt=""></div><div class="face"><img src="../../static/common_bot.png" alt=""></div><div class="face"><img src="../../static/common_bot.png" alt=""></div><div class="face"><img src="../../static/common_bot.png" alt=""></div></div>
</div>
  • loader3d:这是外层容器,用于包裹整个立方体。
  • cube:这是立方体的主体,包含六个面(.face)。
  • face:每个.face代表立方体的一个面。这里一共有六个面,用自己的图片即可。

CSS

css">.loader3d {perspective: 600px;width: 100px;height: 100px;
}.cube {width: 100%;height: 100%;transform-style: preserve-3d;animation: rotate 4s linear infinite;
}.face {position: absolute;width: 100%;height: 100%;background: linear-gradient(45deg, #3498db, #e74c3c);opacity: 0.8;border: 0.5px solid #fff;border-radius: 25%;text-align: center;line-height: 100px;
}.face img {width: 100%;height: 100%;border: 0.5px solid #fff;border-radius: 25%;
}.face:nth-child(1) {transform: rotateX(90deg) translateZ(50px);
}.face:nth-child(2) {transform: rotateX(-90deg) translateZ(50px);
}.face:nth-child(3) {transform: translateZ(50px);
}.face:nth-child(4) {transform: rotateY(90deg) translateZ(50px);
}.face:nth-child(5) {transform: rotateY(-90deg) translateZ(50px);
}.face:nth-child(6) {transform: rotateY(180deg) translateZ(50px);
}@keyframes rotate {0% {transform: rotateX(0deg) rotateY(0deg);}100% {transform: rotateX(360deg) rotateY(360deg);}
}
  • loader3d:这是外层容器的样式,设置了透视效果(perspective),宽度和高度。
  • cube:这是立方体的样式,设置了宽度、高度、3D变换样式(transform-style),以及一个无限循环的旋转动画(rotate)。
  • face:这是立方体每个面的通用样式,设置了位置、大小、背景渐变色、透明度、边框、边框圆角和文本对齐方式。
  • face img:这是每个面上图片的样式,设置了图片的宽度、高度、边框和圆角。
  • face的nth-child()选择器:这是为每个面设置不同的3D旋转和位置。例如,.face:nth-child(1)将第一个面旋转90度并沿Z轴移动50px。
  • @keyframes rotate:这是一个关键帧动画,定义了立方体的旋转效果。从0%到100%,立方体的X轴和Y轴旋转角度从0度增加到360度。
  • 立方体会无限循环地沿着X轴和Y轴旋转,这是通过@keyframes rotate定义的动画实现的。
  • 每个面都有自己的旋转和位置,使得立方体看起来在空间中旋转。

http://www.ppmy.cn/embedded/130033.html

相关文章

Node.js:深入探秘 CommonJS 模块化的奥秘

在Node.js出现之前&#xff0c;服务端JavaScript基本上处于一片荒芜的境况&#xff0c;而当时也没有出现ES6的模块化规范。因此&#xff0c;Node.js采用了当时比较先进的一种模块化规范来实现服务端JavaScript的模块化机制&#xff0c;它就是CommonJS&#xff0c;有时也简称为C…

Windows模拟电脑假死之键盘鼠标无响应

Windows模拟电脑假死之键盘鼠标无响应 1. 场景需求 模拟Windows电脑假死&#xff0c;失去键盘鼠标响应。 2. 解决方案 采用Windows系统提供的钩子(Hook) API 拦截系统鼠标键盘消息。 3. 示例程序 【1】. 创建MFC对话框项目 新建一个MFC应用程序项目&#xff0c;项目名称…

perl统一修改文件前缀并排序

perl统一修改文件前缀并排序 如题&#xff0c;perl统一修改文件前缀并排序。 举例说明&#xff0c;修改*.txt文件&#xff0c;并排序。 当前目录下&#xff0c;有如下文件 a.txt b.txt fsjkd.txt ffsjk_tst.txt运行rename_prefix脚本后&#xff0c;输入的第一个参数为txt&…

【ROS2】Qt和ROS混合编程:多继承QObject和rclcpp::Node

1、说明 如果想在一个类中,即使用Qt的信号和槽(程序内部通信),同时也使用ROS2的发布、订阅消息机制(程序之间通信),如何操作? 可以尝试多重继承:QObject 和 rclcpp::Node 2、示例 1)头文件 class laoer_object_node : public QObject, public rclcpp::Node {Q_O…

5G NR:UE初始接入信令流程浅介

UE初始接入信令流程 流程说明 用户设备&#xff08;UE&#xff09;向gNB-DU发送RRCSetupRequest消息。gNB-DU 包含 RRC 消息&#xff0c;如果 UE 被接纳&#xff0c;则在 INITIAL UL RRC MESSAGE TRANSFER 消息中包括为 UE 分配的低层配置&#xff0c;并将其传输到 gNB-CU。IN…

数据结构:线性结构

线性结构 1. 线性表1.1 定义1.2 线性表的存储结构顺序存储链式存储 2. 栈和队列2.1 栈定义存储结构栈的应用 2.2 队列定义存储结构队列应用 3. 串3.1 串的定义和运算3.2 串的存储结构 数据结构描述数据元素的集合及元素间的关系和运算。在数据结构中&#xff0c;元素之间的相互…

揭开网络安全的面纱:深入了解常见漏洞攻击类型

内容预览 ≧∀≦ゞ 漏洞攻击学习总结导语一、Web 开发中的常见漏洞二、代码框架中的漏洞三、服务器相关漏洞结语 漏洞攻击学习总结 导语 根据自己的一些经验&#xff0c;我将在这篇文章中梳理常见的漏洞及其利用方式&#xff0c;主要涵盖 Web 开发、代码框架和服务器相关的漏洞…

MySQL笔试面试题之AI答(3)

文章目录 11. MYSQL支持事务吗&#xff1f;12. MYSQL相比于其他数据库有哪些特点&#xff1f;一、开源免费二、高性能三、易于使用四、安全性五、可扩展性六、跨平台性七、支持多种存储引擎八、社区活跃 13. 请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称&#xff0c…