美文网首页前端
纯CSS流星雨背景

纯CSS流星雨背景

作者: 余生在此 | 来源:发表于2019-08-01 08:38 被阅读1次

github地址,喜欢的可以star下哦

插件预览图

meteorShower.gif

使用教程

代码展示

  • vue页面使用
<template>
    <view class="space">
        <view class="planet">
            <view class="planet_shadow"></view>
            <view class="crater1"></view>
            <view class="crater2"></view>
            <view class="crater3"></view>
            <view class="crater4"></view>
        </view>
        <view class="stars">
            <view class="star"></view>
            <view class="star pink"></view>
            <view class="star blue"></view>
            <view class="star yellow"></view>
        </view>
    </view>
</template>
  • Style

<style lang="scss">
    .space {
        width: 100%;
        height: 100vh;
        background: #121212;
    }

    .planet {
        width: 150px;
        height: 150px;
        border-radius: 50%;
        background: #333;
        position: absolute;
        left: 50%;
        top: 50%;
        margin: -75px 0 0 -75px;
        overflow: hidden;
        z-index: 2;
    }

    .planet_shadow {
        position: absolute;
        border-radius: 50%;
        height: 100%;
        width: 100%;
        top: -40%;
        right: -10%;
        border: 35px solid rgba(0, 0, 0, .15);
    }

    .crater1,
    .crater2,
    .crater3,
    .crater4 {
        position: absolute;
        border-radius: 50%;
        background: rgba(0, 0, 0, .3);
        box-shadow: inset 3px 3px 0 rgba(0, 0, 0, .2);
    }

    .crater1 {
        width: 20px;
        height: 20px;
        left: 25%;
        top: 20%;
    }

    .crater2 {
        width: 10px;
        height: 10px;
        left: 50%;
        top: 60%;
    }

    .crater3 {
        width: 15px;
        height: 15px;
        left: 30%;
        top: 65%;
    }

    .crater4 {
        width: 15px;
        height: 15px;
        left: 60%;
        top: 35%;
    }

    .star {
        display: block;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #FFF;
        top: 100px;
        left: 400px;
        position: relative;
        transform-origin: 100% 0;
        animation: star-ani 6s infinite ease-out;
        box-shadow: 0 0 5px 5px rgba(255, 255, 255, .3);
        opacity: 0;
        z-index: 2;
    }

    .star:after {
        content: '';
        display: block;
        top: 0px;
        left: 4px;
        border: 0px solid #fff;
        border-width: 0px 90px 2px 90px;
        border-color: transparent transparent transparent rgba(255, 255, 255, .3);
        transform: rotate(-45deg) translate3d(1px, 3px, 0);
        box-shadow: 0 0 1px 0 rgba(255, 255, 255, .1);
        transform-origin: 0% 100%;
        animation: shooting-ani 3s infinite ease-out;
    }

    .pink {
        top: 30px;
        left: 395px;
        background: #ff5a99;
        animation-delay: 5s;
        -webkit-animation-delay: 5s;
        -moz-animation-delay: 5s;
    }

    .pink:after {
        border-color: transparent transparent transparent #ff5a99;
        animation-delay: 5s;
        -webkit-animation-delay: 5s;
        -moz-animation-delay: 5s;
    }

    .blue {
        top: 35px;
        left: 432px;
        background: cyan;
        animation-delay: 7s;
        -webkit-animation-delay: 7s;
        -moz-animation-delay: 7s;
    }

    .blue:after {
        border-color: 'transpareanimation-delay: 12s';
        -webkit-animation-delay: 7s;
        -moz-animation-delay: 7s;
        animation-delay: 7s;
    }

    .yellow {
        top: 50px;
        left: 600px;
        background: #ffcd5c;
        animation-delay: 5.8s;
    }

    .yellow:after {
        border-color: transparent transparent transparent #ffcd5c;
        animation-delay: 5.8s;
    }

    @keyframes star-ani {
        0% {
            opacity: 0;
            transform: scale(0) rotate(0) translate3d(0, 0, 0);
            -webkit-transform: scale(0) rotate(0) translate3d(0, 0, 0);
            -moz-transform: scale(0) rotate(0) translate3d(0, 0, 0);
        }

        50% {
            opacity: 1;
            transform: scale(1) rotate(0) translate3d(-200px, 200px, 0);
            -webkit-transform: scale(1) rotate(0) translate3d(-200px, 200px, 0);
            -moz-transform: scale(1) rotate(0) translate3d(-200px, 200px, 0);
        }

        100% {
            opacity: 0;
            transform: scale(1) rotate(0) translate3d(-300px, 300px, 0);
            -webkit-transform: scale(1) rotate(0) translate3d(-300px, 300px, 0);
            -moz-transform: scale(1) rotate(0) translate3d(-300px, 300px, 0);
        }
    }
</style>


兼容性

全平台兼容

相关文章

  • 纯CSS流星雨背景

    github地址,喜欢的可以star下哦 插件预览图 使用教程 代码展示 vue页面使用 Style 兼容性 全平台兼容

  • 纯CSS 格子背景

    本文简介 点赞 + 收藏 + 关注 = 学会了 这次会使用css画出一个格子背景。并且一步步分析如何实现~ 思路 ...

  • 纯CSS 波点背景

    本文简介 你负责点赞,我负责更新~ 这次要用纯CSS做一个波点背景,先上图看看效果。 我把这个效果写在 body ...

  • 文章收藏

    css 1、纯CSS控制背景图片100%自适应填充布局 thinkphp 1、thinkphp如何去掉index.php

  • web前端入门到实战:纯css实现输入框placeholder动

    背景 话不多说,我们能否用纯css实现以下效果: 答案是肯定的。 借助css:placeholder-shown ...

  • 纯css写背景图

  • CSS样式

    CSS背景 CSS字体 CSS链接 CSS 列表 CSS 表格 CSS轮廓 CSS背景 1、背景色 ba...

  • 纯 CSS 实现格子纸背景

    在 决定下一步行动」,真正让待办清单为你所用 看到几张漂亮的手写字体插图。讨论区也都在问这几张插图是如何做出来的。...

  • 非常有用的CSS代码片段

    纯CSS美化单复选框(checkbox、radio) 修改chrome记住密码后自动填充表单的黄色背景 IOS手机...

  • Html-CSS 背景设置

    CSS 背景 CSS 背景属性用于定义HTML元素的背景。CSS 属性定义背景效果: background-col...

网友评论

    本文标题:纯CSS流星雨背景

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