CSS 3D毛玻璃

本项目来自Silvana-kite/html-css-js-project: 前端小小项目,请支持原作者。








HTML
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3D 玻璃立方体 Loader</title>
<style>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #111;
  overflow: hidden;
}

.loader {
  position: relative;
  width: 300px;
  height: 300px;
  transform-style: preserve-3d;
  transform: rotateX(35deg) rotateZ(345deg);
  animation: animate 4s linear infinite;
}

@keyframes animate {
  0% {
    transform: rotateX(35deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateZ(360deg);
  }
}

.loader span {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.05);
  border: 2px solid rgba(255,255,255,0.25);
  backdrop-filter: blur(24px);
  transition: 2.5s;
}

/* 用 nth-child 让每个 span 沿 Z 轴错开 */
.loader span:nth-child(1) { transform: rotateY(0deg) translateZ(150px); }
.loader span:nth-child(2) { transform: rotateY(60deg) translateZ(150px); }
.loader span:nth-child(3) { transform: rotateY(120deg) translateZ(150px); }
.loader span:nth-child(4) { transform: rotateY(180deg) translateZ(150px); }
.loader span:nth-child(5) { transform: rotateY(240deg) translateZ(150px); }
.loader span:nth-child(6) { transform: rotateY(300deg) translateZ(150px); }

.loader i {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transition: 2.5s;
}

.loader i::before {
  content: '';
  position: absolute;
  inset: 15px;
  background: linear-gradient(45deg, #ff0080, #ff8c00);
  transform: translateZ(-90px);
}

.loader i::after {
  content: '';
  position: absolute;
  inset: 15px;
  background: rgba(255,255,255,0.1);
  border: 2px solid rgba(255,255,255,0.25);
  backdrop-filter: blur(12px);
  transform: translateZ(90px);
}

.loader:hover i,
.loader:hover span {
  transform: rotateX(360deg);
}
</style>
</head>
<body>
  <div class="loader">
    <i></i>
    <!-- 六层玻璃面 -->
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
  </div>
</body>
</html>

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注