3D 旋转立方体效果(摇塞子)

效果图

.vue

typescript 复制代码
<template>
  <view class="container flex-center">
    <view class="cube">
      <view v-for="(item,index) in 6" :key="index"
            class="cube-item flex-center">
        {{ item }}
      </view>
    </view>
  </view>
</template>

<script setup lang='ts'>

</script>

<style lang='scss' scoped>
.container{
  padding-top: 20vh;
}

@keyframes rotate-cube {
  0%{
    // 1
    transform: rotateX(0deg) rotateY(0deg);
  }

  16.65%{
    // 3
    transform: rotateX(0deg) rotateY(90deg);
  }

  33.3%{
    // 5
    transform: rotateX(90deg) rotateY(0deg);
  }

  49.95%{
    // 6
    transform: rotateX(180deg) rotateY(0deg);
  }

  66.6%{
    // 2
    transform: rotateX(0deg) rotateY(-90deg);
  }

  83.25%{
    // 4
    transform:rotateX(-90deg) rotateY(0deg);
  }

  100%{
    // 1
    transform: rotateX(0deg) rotateY(0deg);
  }
}

.cube{
  --area:400rpx;
  --half:calc(var(--area) / 2);

  width: var(--area);
  height: var(--area);
  font-size: 60rpx;
  transform-origin: var(--half) var(--half) 0;
  transform-style: preserve-3d;
  animation: rotate-cube 7s ease-in-out infinite;
  will-change: transform;

  &-item{
    position: absolute;
    width: var(--area);
    height: var(--area);
    opacity: .8;

    &:nth-child(1){
      background: red;
      transform: rotateY(0deg) translateZ(var(--half));
    }

    &:nth-child(2){
      background: orange;
      transform: rotateY(90deg) translateZ(var(--half));
    }

    &:nth-child(3){
      background: yellow;
      transform: rotateY(-90deg) translateZ(var(--half));
    }

    &:nth-child(4){
      background: green;
      transform: rotateX(90deg) translateZ(var(--half));
    }

    &:nth-child(5){
      background: cyan;
      transform: rotateX(-90deg) translateZ(var(--half));
    }

    &:nth-child(6){
      background: blue;
      transform: rotateY(180deg) translateZ(var(--half)) rotate(180deg);
    }
  }
}
</style>

遇到问题可以看我主页加我Q,很少看博客,对你有帮助别忘记点赞收藏。

相关推荐
开开心心就好9 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei11 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲13 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙13 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan14 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen14 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理15 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒16 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
Blanche150016 小时前
利用 RAG 为答疑机器人扩展知识范围
前端
天若有情67316 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具