vue3数据可视化大屏项目开发中,做过很多底座的效果,今天整理一下,希望将来可以节省时间直接复用。
动态效果
今天整理的数字底座效果是三种颜色,蓝绿黄三种颜色的底座,数字有滚动动画。
部分代码展示
<template>
<div class="cardBody">
<div class="cardBodyItem wow fadeInDown" :data-wow-delay="index*0.5+'s'" v-for="(item,index) in list"
:key="index">
<div class="num" :class="'num'+index">
<gsapNum :number="item.value" :delay="index*0.5"></gsapNum>
</div>
<div class="iconBg">
<bg1 v-if="index==0"></bg1>
<bg2 v-if="index==1"></bg2>
<bg3 v-if="index==2"></bg3>
</div>
<div class="title">
<p>{{ item.name }}</p>
</div>
</div>
</div>
</template>
<script>
import gsapNum from "@/components/gsapNum/index.vue";
import bg1 from './bg1/index.vue'
import bg2 from './bg2/index.vue'
import bg3 from './bg3/index.vue'
export default {
name: "title",
data() {
return {
list: [{
name: '充电站数量',
value: 1000
}, {
name: '充电桩数量',
value: 1000
}, {
name: '充电弓数量',
value: 1000
},],
}
},
components: {gsapNum, bg1, bg2, bg3}
}
</script>
<style lang="scss" scoped>
.cardBody {
position: relative;
width: 500px;
margin: 0 auto;
height: calc(100% - 0px);
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
flex-direction: row;
align-content: flex-start;
.cardBodyItem {
width: 33.33%;
flex-shrink: 0;
height: calc(100% - 0px);
position: relative;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: nowrap;
flex-direction: column;
align-content: flex-start;
.title {
font-family: MicrosoftYaHei;
font-weight: 400;
font-size: 14px;
color: #CCD9E5;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
}
.num {
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: nowrap;
flex-direction: row;
align-content: flex-start;
position: relative;
z-index: 12;
width: 100%;
margin-top: 10px;
margin-bottom: -30px;
}
:deep(.num0) {
.gsapNum {
font-family: PangMenZhengDao;
font-weight: normal;
font-size: 22px;
color: #8db9df;
text-shadow: 0 0 0px #fff;
}
}
:deep(.num1) {
.gsapNum {
font-family: PangMenZhengDao;
font-weight: normal;
font-size: 22px;
color: #7bdae4;
text-shadow: 0 0 0px #fff;
}
}
:deep(.num2) {
.gsapNum {
font-family: PangMenZhengDao;
font-weight: normal;
font-size: 22px;
color: #d08370;
text-shadow: 0 0 0px #fff;
}
}
}
}
.iconBg {
position: relative;
width: 120px;
height: 120px;
flex-shrink: 0;
z-index: 10;
}
</style>
更多底座效果
ae动画效果
实例代码
代码基于vue3 vite js node.js 开发 请确保有相关的开发经验