首页 > 其他分享 >祝福版的3D标签云动画特效VUE2版本

祝福版的3D标签云动画特效VUE2版本

时间:2024-10-17 20:18:17浏览次数:8  
标签:动画 word -- animation VUE2 var margin 3D

<script>
export default {
  name: "dreamView",
  data() {
    return {
      words: [
        '健康码常绿',
        '股票飙红',
        '生意兴隆',
        '财源广进',
        '心想事成',
        '永远十八',
        '身体健康',
        '大富大贵',
        '大吉大利',
        '万事如意',
        '美梦成真',
        '吉祥如意',
        '鸿运当头',
        '五福临门',
        '吉星高照',
        '好运连连',
        '八面春风',
        '百事亨通',
        '万事大吉',
        '喜气洋洋',
        '岁岁今日',
        '年年今朝',
        '和气吉祥',
        '百事顺遂',
        '福星高照',
        '前途光明',
        '喜上眉梢',
        '荣华富贵',
        '家庭和睦',
        '爱情事业双丰收',
        '工作顺利',
        '百年好合',
        '龙马精神',
        '出入平安',
        '前程万里',
        '年年有余',
        '万事胜意',
        '福如东海',
        '寿比南山',
        '学业有成',
        '大展宏图',
        '顺风顺水',
        '事业辉煌',
        '生意红火',
        '吉时吉日疾如风',
        '丰年丰月如风增',
        '增福增财增长寿',
        '寿山寿海寿长生',
        '生财生利生贵子',
        '子孝孙贤代代荣',
        '荣华富贵年年有',
        '有钱有势有前程'
      ],
      dream: []
    }
  },
  mounted() {
    console.log(111)
    this.init_();
  },
  methods: {
    _randomNum(min, max) {
      var num = (Math.random() * (max - min + 1) + min).toFixed(2);
      console.log(333)
      return num;
    },
    init_() {
      console.log(222)

      this.words.forEach((item) => {
        var wordBoxStyle = {
          '--margin-top': `${this._randomNum(-40, 20)}vh`,
          '--margin-left': `${this._randomNum(6, 35)}vw`,
          '--animation-duration': `${this._randomNum(8, 20)}s`,
          '--animation-delay': `${this._randomNum(-20, 0)}s`,
        }
        var wordStyle = {
          color: `hsl(${this._randomNum(0, 240)},100%,65%)`
        }
        var obj = {
          word: item,
          wordBoxStyle,
          wordStyle
        }
        this.dream.push(obj);
      })
    }
  }
}
</script>

<template>
  <div class="container">
    <div v-for="(item,index) in dream" :style="item.wordBoxStyle" :key="index" class="word-box">
      <div class="word" :style="item.wordStyle">{{ item.word }}</div>
    </div>
  </div>
</template>

<style scoped lang="less">
* {
  margin: 0;
  padding: 0;
}

:root {
  /* 自定义属性,这几个属性等会是通过js随机生成,通过var函数可对其调用 */
  /* 上外边距 */
  --margin-top: 0;
  /* 左外边距 */
  --margin-left: 0;
  /* 动画时长 */
  --animation-duration: 0s;
  /* 动画延迟时间 */
  --animation-delay: 0s;
}

.container {
  /* 100%窗口高度 */
  height: 100vh;
  width: 100vw;
  max-width: 100vw;
  /* 弹性布局 居中显示 */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #111;
  /* 溢出隐藏 */
  overflow: hidden;
  /* 设置视距 */
  perspective: 1300px;
}

div {
  /* 所有div默认开启3D属性 */
  transform-style: preserve-3d;
}

.word-box,
.word-box .word {
  position: absolute;
  /* 执行动画:动画名 时长 线性的 无限次播放 */
  animation: rotY 0s linear infinite;
  /* 设置动画时长 */
  animation-duration: var(--animation-duration);
  /* 设置动画延迟 */
  animation-delay: var(--animation-delay);
}

.word-box {
  margin-top: var(--margin-top);
}

.word-box .word {
  margin-left: var(--margin-left);
}

.word-box .word {
  /* 反向动画 */
  animation-direction: reverse;
}

/* 定义动画 */
@keyframes rotY {
  to {
    /* 1turn表示一圈 */
    transform: rotateY(1turn);
  }
}
</style>

标签:动画,word,--,animation,VUE2,var,margin,3D
From: https://blog.csdn.net/m0_70071170/article/details/143027167

相关文章

  • AI 3D拣选系统行业分析:物流行业是最主要的需求来源
    AI3D拣选系统是一种集成了先进传感技术、机器人技术和计算机视觉技术的自动化分拣解决方案。它能够在三维空间内快速、准确地识别和分拣各种形状、大小和材质的物品,大大提高了物流效率和准确性。该系统通过高精度的3D传感器和先进的视觉算法,能够实时捕捉物品的三维信息,并据此......
  • 汽车3D动画外包还是自己动手渲染?
    在汽车行业,3D动画已成为展示产品和技术创新的重要手段。然而,企业在决定是否外包3D动画制作或自行渲染时,往往面临成本、质量与时间的权衡。本文将探讨这两种选择的利弊,帮助企业做出明智的决策。一、为什么制作3D汽车动画会很难制作3D汽车动画的难点不仅在于创作过程中的技术挑战......
  • 基于PID控制器的四旋翼无人机控制系统的simulink建模与仿真,并输出虚拟现实动画
    1.课题概述      基于PID控制器的四旋翼无人机控制系统的simulink建模与仿真,并输出vr虚拟现实动画,输出PID控制器的控制反馈曲线。整个仿真过程,无人机为升空,下降,再升空的飞行效果。 2.系统仿真结果 3.核心程序与模型版本:MATLAB2022a  4.系统原理简介4.1......
  • 《末日地带2》游戏打不开:d3dcompiler_43.dll丢失怎么修复
    针对《末日地带2》游戏因d3dcompiler_43.dll文件丢失而无法打开的问题,可以尝试以下几种修复方法:一、重新安装DirectXd3dcompiler_43.dll是DirectX的一部分,因此重新安装DirectX通常可以解决问题。可以从微软官方网站下载相应版本的DirectX进行安装。安装过程中,请确保不要勾选......
  • 鸿蒙3D开发
    需求:创建一个按钮。按下按钮后,按钮需缩小并向手指方向倾斜。分析:可以使用 button 组件来实现该功能,其他组件也同样适用。按下按钮时需利用 .ontouch 事件。缩小效果通过 scale 属性的变化实现。为了确定手指的方向,我们可以在 .ontouch 事件中获取相关信息,具体包......
  • Vue2 - 详细实现安装引入百度地图并查询展示周边交通/教育/医疗/商场/生活/娱乐等POI
    前言Vue3版本,请访问在vue2|nuxt2项目开发中,详解高德地图根据当前定位获取周边附近的商圈,vue2高德地图获取周边商圈并将这些地址位置列出来供用户点击跳转和选择,获取当前位置或指定区域周边的交通出行、学校教育、医院诊所、商场购物、生活娱乐、旅游景点、酒店民宿......
  • ZBrush和3D-Coat各自的优缺点是什么?
    zbrush支持的模型面数高英文界面,3dcoat支持的模型面数比zbrsh低有中文界ZBrush优缺点 1、ZBrush优点:zbrush是高精度建模poser制作的首选。可搭配雕刻版使用,主要为烘焙高细节的铁图建模。因为是高精度模型,不适用于动画和游戏制作,所以建模师普遍用它来制作贴图,辅助Maya和Max实......
  • 【Vue】Vue2(11)
    文章目录1vuex1.1概念1.2什么时候使用Vuex1.3工作原理图1.4vuex核心概念和API1.4.1state1.4.2actions1.4.3mutations1.4.4getters2求和案例_纯vue版2.1静态页面2.2Count.vue2.3App.vue2.4main.js3求和案例_vuex3.1Count.vue3.2store文件夹下:index......
  • Ouroboros3D-一种通过3D感知递归扩散生成3D模型的框架在win10系统上的复现流程
    本文将全程记录自己的Ouroboros3D(以下简称o3d)的环境配置以及训练过程,遇到的问题及解决办法。(Windows)目录一、o3d的安装及环境配置1.下载o3d项目2.anaconda、vscode安装及环境创建3.CUDA安装及环境变量的配置4.相应版本的pytorch的安装(1)在anaconda终端(2)在其他终端如vsco......
  • 初探Vue2:基础概念与实践指南
    通过记录自己在学习Vue2的过程中的实践经历,复盘项目中的技术应用,巩固Vue2的知识要点,并分享职场中的感悟和心得Vue2简介定义Vue.js,简称Vue,是一个渐进式JavaScript框架,它专注于构建用户界面,易于上手的同时,也能在复杂的应用场景中发挥强大的功能。特点Vue2的核心特点包括:响......