当前位置: 首页 > article >正文

css 动画实现从中间到两边亮度逐渐变暗的流水灯效果

先看效果:

在这里插入图片描述

快结束效果 随着离中心点距离逐渐边远,亮度逐渐变暗

在这里插入图片描述

完整的视线代码如下:

<template>
  <div class="container">
    <div class="runner bottom to-right"></div>
    <div class="runner bottom to-left"></div>
  </div>
</template>

<script setup>

</script>

<style  lang="less">



html, body{
  height: 100%;
  background-color: black;
}
.container{
  position: relative;
  height: 80px;
  .runner {
    --title-back-linear-2: linear-gradient(
        to right, // 从左到右的现线性渐变
        transparent 0%, // 完全透明
        rgba(255, 255, 255, 1) 50%,
        transparent 100% // 完全不透明
    );
    --title-back-linear-3: linear-gradient(
        to right,
        transparent -50%,
        rgba(255, 255, 255, 1) 50%,
        transparent 150%
    );
    position: absolute;
    &.bottom {
      bottom: 4px;
      left: calc(50% - 20px);
      //left: 50%;
    }
    width: 40px;
    height: 2px;
    background: var(--title-back-linear-2); // 把这行注释了会看到不是一条线了,而是一个点
    box-shadow: 5px 5px 10px rgba(255, 255, 255, 0.4),
                -5px 5px 10px rgba(255, 255, 255, 0.4),
                5px -5px 10px rgba(255, 255, 255, 0.4),
                -5px -5px 10px rgba(255, 255, 255, 0.4),//; // 感觉把下边这四个注释了也没多大差别
                5px 5px 30px rgba(255, 255, 255, 0.4),
                -5px 5px 30px rgba(255, 255, 255, 0.4),
                5px -5px 30px rgba(255, 255, 255, 0.4),
                -5px -5px 30px rgba(255, 255, 255, 0.4);
    &::after {  // 起个加强亮度的作用吧
      content: '';
      position: absolute;
      display: block;
      width: 10px;
      height: 1px;
      bottom: 0;
      left: calc(50% - 5px);
      background: var(--title-back-linear-3);
      box-shadow: 5px 5px 10px rgba(255, 255, 255, 0.4),
      -5px 5px 10px rgba(255, 255, 255, 0.4),
        5px -5px 10px rgba(255, 255, 255, 0.4),
        -5px -5px 10px rgba(255, 255, 255, 0.4),
      5px 5px 30px rgba(255, 255, 255, 0.4),
      -5px 5px 30px rgba(255, 255, 255, 0.4),
        5px -5px 30px rgba(255, 255, 255, 0.4),
        -5px -5px 30px rgba(255, 255, 255, 0.4);
    }

    // ~ 4 动画
    &.to-right {
      animation: toRight 5s ease infinite ;  // normal可以不用写,写alternate会反向动画
    }

    &.to-left {
      animation: toLeft 5s ease infinite normal;
    }
  }
  @keyframes toLeft {
    0% {
      left: calc(50% - 20px);
      opacity: 1;
    }
    100% {
      left: 0;
      opacity: 0;
    }
  }
  @keyframes toRight {
    0% {
      left: calc(50% - 20px);
      opacity: 1;
    }
    100% {
      left: calc(100% - 40px);
      opacity: 0;
    }
  }
}

</style>

http://www.kler.cn/a/445665.html

相关文章:

  • maven-resources-production:ratel-fast: java.lang.IndexOutOfBoundsException
  • LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct
  • 谷歌浏览器的扩展市场使用指南
  • MCU驱动使用
  • 【C语言】特殊指针汇总
  • 以腾讯混元模型为例,在管理平台上集成一个智能助手
  • DNS 服务器是什么?有什么作用
  • MQTT入门:在Spring Boot中建立连接及测试
  • 面试题整理10----k8s集群架构是什么
  • 数据库管理系统——数据库设计
  • 【Linux】基础IO------理解文件系统(inode)
  • Java 面经之 Kafka
  • MATLAB常用颜色RGB汇总
  • 低空无人机产教融合技术详解
  • docker启动nginx并部署前端
  • 打通全网SEO优化:提高百度、B站、抖音等平台搜索排名
  • 英伟达 - 笔记
  • 分布式系统架构4:容错设计模式
  • [element-ui] e-image 和e-table一起使用显示问题
  • 在 Unity 6 中使用APV为您的世界创建全局照明的新方法(二)
  • 【Linux系统编程】:信号(1)——前置知识,了解信号
  • BigBlueButton视频会议 vs 钉钉视频会议系统的详细对比
  • Ubuntu 20.04 卸载和安装 MySQL8.0
  • 项目实操:windows批处理拉取git库和处理目录、文件
  • [CSP-S 2024] 超速检测 题解
  • 思科CCNA认证都学什么考什么?