scss如何实现星空效果

<div class="layer1"></div>
<div class="layer2"></div>
<div class="layer3"></div>
<div class="layer_title">Sass 星空</div>

//三个layer1,2,3代表三层星星
@function getShadows($n){

  $shadows: "#{random(100)}vw #{random(100)}vh #fff";

  @for $i from 2 through $n {
    $shadows: "#{$shadows}, #{random(100)}vw #{random(100)}vh #fff";

  }
  
  @return unquote($shadows);

}

$duration: 200s;
$starCount: 1000;

@for $i from 1 through 3 {
  $duration: $duration / 2;
  $starCount: floor($starCount / 2);
  .layer#{$i}{
    $size: #{$i}px;
    position: fixed;
    width: $size;
    height: $size;
    border-radius: 50%;
    background: #f00;
    left: 0;
    top: 0;
    box-shadow: getShadows($starCount);
    animation: move $duration linear infinite;
    &::after{            //after是为了实现无限移动,底部多加复制一屏
      content: '';
      position: fixed;
      left: 0;
      top: 100vh;
      width: $size;
      height: $size;
      border-radius: inherit;
      box-shadow:inherit
    
    }
    
  }

}

@keyframes move {
  100%{
    transform: translateY(-100vh);
  }
}

 

posted @   10后程序员劝退师  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示