zoukankan      html  css  js  c++  java
  • css流星 效果

    style:

    .loding {
         100%;
        height: 100%;   
      }
      .bg{
         100%;
        height: 100%;
        margin: 0;
        overflow: hidden;
        background: #000;
        position: relative;
        z-index: 999;
      }
      #stars {
        margin: 0 auto;
        max- 1600px;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
      }
      .star {
        display: block;
         1px;
        background: transparent;
        position: relative;
        opacity: 0;
        /*过渡动画*/
        animation: star-fall 3s linear infinite;
        -webkit-animation: star-fall 3s linear infinite;
        -moz-animation: star-fall 3s linear infinite;
      }
      
      .star:after {
        content: '';
        display: block;
        border: 0px solid #fff;
        border- 0px 90px 2px 90px;
        border-color: transparent transparent transparent rgba(255, 255, 255, 1);
        box-shadow: 0 0 1px 0 rgba(255, 255, 255, .1);
        /*变形*/
        transform: rotate(-45deg) translate3d(1px, 3px, 0);
        -webkit-transform: rotate(-45deg) translate3d(1px, 3px, 0);
        -moz-transform: rotate(-45deg) translate3d(1px, 3px, 0);
        transform-origin: 0% 100%;
        -webkit-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
      }
      
      @keyframes star-fall {
        0% {
          opacity: 0;
          transform: scale(0.5) translate3d(0, 0, 0);
          -webkit-transform: scale(0.5) translate3d(0, 0, 0);
          -moz-transform: scale(0.5) translate3d(0, 0, 0);
        }
      
        50% {
          opacity: 1;
          transform: translate3d(-200px, 200px, 0);
          -webkit-transform: translate3d(-200px, 200px, 0);
          -moz-transform: translate3d(-200px, 200px, 0);
        }
      
        100% {
          opacity: 0;
          transform: scale(1.2) translate3d(-300px, 300px, 0);
          -webkit-transform: scale(1.2) translate3d(-300px, 300px, 0);
          -moz-transform: scale(1.2) translate3d(-300px, 300px, 0);
        }
      }

    body:

    <div class="loding">
            <div class="bg">
                <div id="stars">
                    <div class="star" style="top: 0px;left: 300px;"></div>
                    <div class="star" style="top: 0px;left: 130px;"></div>
                </div>
            </div>
        </div>

    js:

    (function () {
                let stars = document.getElementById('stars');
                for (var j = 0; j < 80; j++) {
                    let newStar = document.createElement("div");
                    newStar.className = "star"
                    newStar.style.top = randomDistance(500, -100) + 'px'
                    newStar.style.left = randomDistance(1300, 300) + 'px'
                    stars.appendChild(newStar)
                }
                function randomDistance(max, min) {
                    let distance = Math.floor(Math.random() * (max - min + 1) + min)
                    return distance
                }
                var star = document.getElementsByClassName('star')
                for (var i = 0, len = star.length; i < len; i++) {
                    star[i].style.animationDelay = i % 6 == 0 ? '0s' : i * 0.1 + 's'
                }
            })();
  • 相关阅读:
    windows 环境下在anaconda 3中安装python2和python3两个环境(python2和python3共存)
    python 中,如何在一个函数中调用另一个函数返回的多个值中的一个?
    Coursera 机器学习 第一周 学习笔记
    正则表达式 注释
    正则表达式 分组
    24_04SpringMVC实现文件上传及拦截器
    前端之CSS基础
    前端之html
    MySQL数据库实战之优酷
    数据库基础加练习
  • 原文地址:https://www.cnblogs.com/whx123/p/12055069.html
Copyright © 2011-2022 走看看