水一个教程:

效果图:

image.png

不多说代码如下:
  • html代码
<!-- 页面流星雨 -->
<div class="meteor_nav">
    <!-- 10个nav -->
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
    <nav></nav>
</div>
  • css代码如下:
/* 流星页面
 用固定 定位不然页面流星消失从新开始页面会抖动
 position: fixed;
 */
 body{
     background: #000000;
 }
nav {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    background-color: #fff;
    border-radius: 50%;
    /* 发光效果 */
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1),
        0 0 0 8px rgba(255, 255, 255, 0.1),
        0 0 20px rgba(255, 255, 255, 1);
    /* 执行动画 */
    animation: animate 3s linear infinite;
}

/* 拖尾效果 */
nav::before {
    content: "";
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 300px;
    height: 3px;
    background: linear-gradient(90deg, #fff, transparent);
}

/* 接下来分别为每一个流星设置位置、动画延迟时间、动画时长 */
nav:nth-child(1) {
    top: 0;
    right: 0;
    /* initial关键字用于设置CSS属性为它的默认值 */
    left: initial;
    /* 动画延迟时间 */
    animation-delay: 0s;
    /* 动画时长 */
    animation-duration: 1s;
}

nav:nth-child(2) {
    top: 0;
    right: 80px;
    left: initial;
    animation-delay: 0.2s;
    animation-duration: 3s;
}

nav:nth-child(3) {
    top: 80px;
    right: 0;
    left: initial;
    animation-delay: 0.4s;
    animation-duration: 2s;
}

nav:nth-child(4) {
    top: 0;
    right: 180px;
    left: initial;
    animation-delay: 0.6s;
    animation-duration: 1.5s;
}

nav:nth-child(5) {
    top: 0;
    right: 400px;
    left: initial;
    animation-delay: 0.8s;
    animation-duration: 2.5s;
}

nav:nth-child(6) {
    top: 0;
    right: 600px;
    left: initial;
    animation-delay: 1s;
    animation-duration: 3s;
}

nav:nth-child(7) {
    top: 300px;
    right: 0;
    left: initial;
    animation-delay: 1.2s;
    animation-duration: 1.75s;
}

nav:nth-child(8) {
    top: 0;
    right: 700px;
    left: initial;
    animation-delay: 1.4s;
    animation-duration: 1.25s;
}

nav:nth-child(9) {
    top: 0;
    right: 1000px;
    left: initial;
    animation-delay: 0.75s;
    animation-duration: 2.25s;
}

nav:nth-child(10) {
    top: 0;
    right: 450px;
    left: initial;
    animation-delay: 2.75s;
    animation-duration: 2.25s;
}

/* 定义动画 */
/* 流星划过动画 */
@keyframes animate {
    0% {
        transform: rotate(315deg) translateX(10px);
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        transform: rotate(315deg) translateX(-1080px);
        opacity: 0;
    }
}
最后修改:2023 年 10 月 31 日
如果觉得我的文章对你有用,请随意赞赏