用CSS来实现一些动画在vue中使用之流星滑过(3)

屏幕中的流星效果

具体代码:

<!--<template>添加-->
<!--流星-->
    <div class="liuxing liuxing1 liuxingFla"></div>
    <div class="liuxing liuxing2 liuxingFla2"></div>
    <div class="liuxing liuxing3 liuxingFla3"></div>
    <div class="liuxing liuxing4 liuxingFla4"></div>
/*在<style>中添加*/
/*流星*/
.liuxing{
  width: 85px;
  height: 85px;
  position: absolute;
  background: url(../../assets/line.png) no-repeat;
  background-size: contain;
}
.liuxing1 {
  top: 200px;
  left: 200px;
}
.liuxing2 {
  top: 200px;
  left: 50%;
  margin-left: 200px;
}
.liuxing3 {
  top: 100px;
  right: 300px;
}
.liuxing4 {
  top: 150px;
  right: 300px;
}
.liuxingFla {
  animation: liuxing 5s ease-in infinite;
}
.liuxingFla2 {
  animation: liuxing2 4s ease-in infinite;
}
.liuxingFla3 {
  animation: liuxing3 3s linear infinite;
}
.liuxingFla4 {
  animation: liuxing4 2s linear infinite;
}
/* 流星动画 */
@keyframes liuxing {
  0% {
    transform: translate(200px, -200px)
  }
  90% {
    transform: translate(-180px, 180px);
    opacity: 1;
  }
  100% {
    transform: translate(-200px, 200px);
    opacity: 0;
  }
}

@keyframes liuxing2 {
  0% {
    transform: translate(200px, -200px)
  }
  90% {
    transform: translate(-480px, 480px);
    opacity: 1;
  }
  100% {
    transform: translate(-500px, 500px);
    opacity: 0;
  }
}

@keyframes liuxing3 {
  0% {
    transform: translate(200px, -200px)
  }
  90% {
    transform: translate(-480px, 480px);
    opacity: 1;
  }
  100% {
    transform: translate(-500px, 500px);
    opacity: 0;
  }
}
@keyframes liuxing4 {
  0% {
    transform: translate(200px, -200px)
  }
  90% {
    transform: translate(-180px, 180px);
    opacity: 1;
  }
  100% {
    transform: translate(-200px, 200px);
    opacity: 0;
  }
}

图片素材:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 实现动画可以使用 Vue 提供的 `transition` 组件,可以通过添加过渡类名来控制动画效果。 ```html <template> <transition name="fade"> <div v-if="show">Hello World</div> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 在上面的代码,我们使用了 `transition` 组件包裹了一个 `div` 元素,通过 `v-if` 控制其显示和隐藏。当 `div` 元素进入或离开时,会自动添加对应的过渡类名,我们可以通过这些类名来控制动画效果。 在样式,我们定义了 `fade-enter-active` 和 `fade-leave-active` 类名,控制进入和离开的动画效果。同时,我们定义了 `fade-enter` 和 `fade-leave-to` 类名,控制进入和离开时的起始状态和结束状态。 除了使用 Vue 提供的 `transition` 组件外,还可以使用 CSS3 动画属性来实现动画效果,如 `animation` 和 `transition`。具体使用方式和上面的示例类似,只需要在样式定义对应的动画效果。例如: ```html <template> <div v-if="show" class="fade">Hello World</div> </template> <style> .fade { animation: fade-in 0.5s ease; } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } </style> ``` 在上面的代码,我们定义了一个名为 `fade-in` 的动画,控制元素从透明度 0 到透明度 1 的渐变效果。在元素显示时,我们通过添加 `fade` 类名来触发动画效果。 总的来说,Vue 提供的 `transition` 组件可以方便地实现常见的动画效果,而 CSS3 动画属性则更加灵活,可以实现更加复杂的动画效果。具体使用哪种方式,可以根据实际需求和开发经验进行选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值