当前位置: 首页 > article >正文

HTMLCSS:3D金字塔加载动画

效果演示

这段代码通过CSS3的3D变换和动画功能,创建了一个旋转的金字塔加载动画,每个侧面都有不同的颜色渐变,底部还有一个模糊的阴影效果,增加了视觉的立体感。
在这里插入图片描述

HTML

<div class="pyramid-loader">
  <div class="wrapper">
    <span class="side side1"></span>
    <span class="side side2"></span>
    <span class="side side3"></span>
    <span class="side side4"></span>
    <span class="shadow"></span>
  </div>
</div>
  • pyramid-loader 是最外层的容器,用于包含整个金字塔动画。
  • wrapper 是金字塔的主体部分,包含四个 span 元素,每个代表金字塔的一个侧面,以及一个 span 元素用于表示阴影效果。

CSS

.pyramid-loader {
  position: relative;
  width: 300px;
  height: 300px;
  display: block;
  transform-style: preserve-3d;
  transform: rotateX(-20deg);
}

.wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  animation: spin 4s linear infinite;
}

@keyframes spin {
  100% {
    transform: rotateY(360deg);
  }
}

.pyramid-loader .wrapper .side {
  width: 70px;
  height: 70px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transform-origin: center top;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.pyramid-loader .wrapper .side1 {
  transform: rotateZ(-30deg) rotateY(90deg);
  background: conic-gradient( #2BDEAC, #F028FD, #D8CCE6, #2F2585);
}

.pyramid-loader .wrapper .side2 {
  transform: rotateZ(30deg) rotateY(90deg);
  background: conic-gradient( #2F2585, #D8CCE6, #F028FD, #2BDEAC);
}

.pyramid-loader .wrapper .side3 {
  transform: rotateX(30deg);
  background: conic-gradient( #2F2585, #D8CCE6, #F028FD, #2BDEAC);
}

.pyramid-loader .wrapper .side4 {
  transform: rotateX(-30deg);
  background: conic-gradient( #2BDEAC, #F028FD, #D8CCE6, #2F2585);
}

.pyramid-loader .wrapper .shadow {
  width: 60px;
  height: 60px;
  background: #8B5AD5;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transform: rotateX(90deg) translateZ(-40px);
  filter: blur(12px);
}
  • .pyramid-loader 设置了容器的位置、大小和3D变换样式,使其能够包含3D元素,并且整体沿X轴旋转-20度。
  • .wrapper 设置了内部容器的位置、大小和3D变换样式,并且应用了一个名为spin的动画,这个动画会使容器无限循环地旋转。
  • @keyframes spin 定义了一个关键帧动画,使元素绕Y轴旋转360度。
  • .side 类定义了金字塔侧面的尺寸、位置和剪裁路径,使其呈现为一个三角形。
  • .side1 设置了第一个侧面的旋转角度和背景渐变色。
  • .side2 设置了第二个侧面的旋转角度和背景渐变色。
  • .side3 设置了第三个侧面的旋转角度和背景渐变色。
  • .side4 设置了第四个侧面的旋转角度和背景渐变色。
  • .shadow 设置了阴影的尺寸、位置、背景色、旋转角度和模糊效果。

http://www.kler.cn/a/409102.html

相关文章:

  • 拉格朗日乘子(Lagrange Multiplier)是数学分析中用于解决带有约束条件的优化问题的一种重要方法,特别是SVM
  • shell脚本(完)—脚本互调重定向的学习
  • 七天掌握SQL--->第五天:数据库安全与权限管理
  • 搜索插入位置
  • 【C】错误的变量定义导致sprintf()‌输出错误
  • C++ 中数组作为参数传递时,在函数中使用sizeof 为什么无法得到数组的长度
  • MySQL 主从复制之多线程复制
  • 【数据结构】【线性表】一文讲完队列(附C语言源码)
  • el-table的树形结构后端返回的id没有唯一键怎么办
  • Java中的CAS
  • elasticsearch的文档管理
  • MySQL原理简介—12.MySQL主从同步
  • 计算机网络复习笔记(湖科大教书匠)
  • Qt案例 滥用[Qt::BlockingQueuedConnection]队列链接导致出现程序死锁Bug的问题
  • JavaWeb开发:HTML 页面与接口对接
  • 基于Java Springboot工厂生产设备维护管理系统
  • Facebook商城号封号的原因是什么?
  • 数据集-目标检测系列- 花卉 玫瑰 检测数据集 rose >> DataBall
  • C/C++ 每日一练:实现字符串的大小写转换
  • unity3d————基础篇小项目(设置界面)
  • linux常见版本:
  • 本地部署 MaskGCT
  • 网络爬虫——综合实战项目:多平台房源信息采集与分析系统
  • Python爬虫:深度解析1688接口数据获取
  • 在线解析工具链接
  • 力扣题解3248 矩阵中的蛇(简单)