实现天空星星闪烁背景

准备一张一颗星的图
star.vue

<template>
  <div class="sky-star-box">

  </div>
</template>

<script>
export default {
  props: {

  },
  data() {
    return {
    }
  },
  mounted() {
    this.initStar()
  },
  methods: {
    initStar() {
      var screenW = document.documentElement.clientWidth
      var screenH = document.querySelector('.sky-star-box').clientHeight
      for (var i = 0; i < 100; i++) {
        var span = document.createElement('span')
        document.body.appendChild(span)
        var x = parseInt(Math.random() * screenW)
        var y = parseInt(Math.random() * screenH)
        span.style.left = x + 'px'
        span.style.top = y + 'px'
        span.style.zIndex = '0'
        var scale = Math.random() * 1.5
        span.style.transform = 'scale(' + scale + ', ' + scale + ')'
        var rate = Math.random() * 1.5
        span.className = 'sky-star sky-star' + Math.round(Math.random())
        span.style.animationDelay = rate + 's'
        document.querySelector('.sky-star-box').appendChild(span)
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.sky-star-box{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 30%;
}
.sky-star{
  width: 30px;
  height: 30px;
  background: url('~@/assets/images/sky_star.png') no-repeat;
  background-size: 100% 100%;
  display: inline-block;
  animation: starflash 1.2s infinite ease;
  -webkit-animation: starflash 1.2s infinite ease;
  position: absolute;
}
.sky-star1{
  animation: starflash 1.7s infinite ease;
  -webkit-animation: starflash 1.7s infinite ease;
}
@keyframes starflash {
    0%{opacity: 0;}
    100%{opacity: 1;}
}



</style>

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值