欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 纯HTML+CSS实现3D空间正方体旋转

纯HTML+CSS实现3D空间正方体旋转

2025/3/31 10:14:04 来源:https://blog.csdn.net/zxy19931069161/article/details/146503777  浏览:    关键词:纯HTML+CSS实现3D空间正方体旋转

以下是一个使用纯HTML和CSS实现的3D空间正方体旋转效果。

一、效果

效果特点:

  1. 半透明发光正方体进行多轴旋转

  2. 核心光点脉冲效果

  3. 正方体边框的霓虹光效

  4. 多重阴影叠加的立体效果

实现原理:

  1. 使用CSS 3D变换实现正方体结构

  2. 通过preserve-3d保持三维空间关系

  3. 组合使用rotateX/Y/Z实现多轴旋转

  4. 使用box-shadow实现发光效果

可以通过调整以下参数自定义效果:

  • 修改cube的尺寸调整正方体大小

  • 调整animation-duration改变旋转速度

  • 修改border和background颜色改变主题色

  • 调整box-shadow参数改变发光强度


二、代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><style>body {margin: 0;height: 100vh;display: flex;justify-content: center;align-items: center;background: #000;overflow: hidden;}/* 旋转立方体容器 */.cube-container {position: relative;width: 300px;height: 300px;transform-style: preserve-3d;animation: cubeRotate 20s infinite linear;z-index: 2;}/* 立方体公共样式 */.cube {position: absolute;width: 200px;height: 200px;background: rgba(0, 255, 255, 0.1);border: 2px solid #0ff;transform-style: preserve-3d;box-shadow: 0 0 40px #0ff;}/* 立方体各面 */.front { transform: translateZ(100px); }.back { transform: translateZ(-100px); }.top { transform: rotateX(90deg) translateZ(100px); }.bottom { transform: rotateX(-90deg) translateZ(100px); }.left { transform: rotateY(-90deg) translateZ(100px); }.right { transform: rotateY(90deg) translateZ(100px); }/* 核心光点 */.core {position: absolute;width: 20px;height: 20px;background: #0ff;border-radius: 50%;filter: blur(15px);animation: pulse 2s infinite;}/* 动画定义 */@keyframes cubeRotate {0% { transform: rotateX(0) rotateY(0) rotateZ(0); }100% { transform: rotateX(360deg) rotateY(720deg) rotateZ(360deg); }}@keyframes pulse {0%, 100% { transform: scale(1); }50% { transform: scale(1.5); }}</style>
</head>
<body><div class="cube-container"><div class="cube front"></div><div class="cube back"></div><div class="cube top"></div><div class="cube bottom"></div><div class="cube left"></div><div class="cube right"></div><div class="core"></div></div>
</body>
</html>

一些重点css属性:

① transform-style: preserve-3d;

transform--style属性指定嵌套元素是怎样在三维空间中呈现。

描述
flat表示所有子元素在2D平面呈现。
preserve-3d表示所有子元素在3D空间中呈现。

 ②@keyframes cubeRotate {

            0% { transform: rotateX(0) rotateY(0) rotateZ(0); }

            100% { transform: rotateX(360deg) rotateY(720deg) rotateZ(360deg); }

        }

动画围绕着X轴、Y轴、Z轴同时旋转实现更炫酷的旋转效果。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词