用不到一百行的Scss代码,写一个星空背景

首先我们需要安装sass 

npm i sass

然后准备静态结构

<div class="page">
    <div class="layer1"></div>
    <div class="layer2"></div>
    <div class="layer3"></div>
    <div class="layer4"></div>
    <div class="layer5"></div>
    <div class="title">sass星空</div>
</div>

然后将标题样式完成

.page {
    height: 100vh;
    background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
    overflow: hidden;
}

.title {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    color: #fff;
    text-align: center;
    font-family: 'lato', sans-serif;
    font-weight: 300;
    font-size: 50px;
    letter-spacing: 10px;
    margin-top: -60px;
    padding-left: 10px;
    background: linear-gradient(white,#38495a);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

 最后将我们的星星样式完成

@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: 1000s;
$count:1000;
@for $i from 1 through 5 {
    $duration:floor(Calc($duration / 2));
    $count:floor(Calc($count / 2));
    .layer#{$i}{
    position: fixed;
    $size:#{$i}px;
    width: $size;
    height: $size;
    border-radius: 50%;
    background: #f40;
    box-shadow: getShadows($count);
    animation: moveup $duration linear infinite;
    &::after{
        content: '';
        position: fixed;
        width: inherit;
        height: inherit;
        left: 0;
        top: 100vh;
        box-shadow: inherit;
        border-radius: inherit;
    }
}

}

@keyframes moveup{
    to{
        transform: translateY(-100vh);
    }
}

效果图如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值