美文网首页
css3流星雨动画

css3流星雨动画

作者: LI_4058 | 来源:发表于2018-06-29 14:29 被阅读0次

下面是页面源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        html,body{
            width: 100%;height: 100%;margin: 0;overflow: hidden;background: linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.4));
        }
        #stars{
            margin: 0 auto;max-width: 1600px;position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 2;
        }
        .star{
            display: block;width: 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-width: 0px 90px 2px 90px;
            border-color: transparent transparent transparent rgba(255, 255, 255, .5);
            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);
            }
        }
    </style>
</head>
<body>
    <div id="stars">
        <div class="star" style="top: 0px;left: 500px"></div>
    </div>
<script>
    var stars = document.getElementById('stars')

    // js随机生成流星
    for (var j=0;j<30;j++) {
        var 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) {
        var 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.8 + 's'
    }
</script>
</body>
</html>

相关文章

  • 网页高级知识点(三)

    CSS3 transition动画 CSS3 transform变换 CSS3 animation动画

  • css3流星雨动画

    下面是页面源码:

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • 08_dayCSS动画

    CSS3新增的功能有:过渡和动画,阴影和圆角 css3过渡动画: css3都有哪些新增的东西 : 过度,动画,阴影...

  • CSS3 动画

    CSS3 动画CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。 ...

  • CSS3 动画

    动画属性 动画(animation)是CSS3新增的属性,动画属性可以为元素创建动画,CSS3以前在网页上实现动画...

  • css3动画

    css3动画 CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的...

  • 纯CSS3绘制的逼真,呆萌,超酷的CSS3动画

    纯CSS3人物行走动画 逼真炫酷CSS3动画 CSS3实在是太强大了,今天分享的CSS3动画非常神奇,它可以模拟人...

  • 关于js动画和css3动画的差异性你了解吗?请简单谈一下

    css3动画:css3之后添加了transform动画计算函数,所以实现动画更为简单方便,并且transform矩...

  • 过度动画

    css3过度动画 css3都有哪些新增的东西 : 过度,动画,阴影,圆角; transition : width ...

网友评论

      本文标题:css3流星雨动画

      本文链接:https://www.haomeiwen.com/subject/nzrayftx.html