animation css 透明度逐渐_CSS替换GIf的波纹扩散,贼爽

86a21146818f74f91471c561ecb29120.gif

CSS实现波纹效果


> 写在前面:非专业前端,个人爱好,代码风格伤了你还望见谅

话不多说直接上效果

f23a8142514d31f788a4febc7135476e.gif

HTML的骨架代码

初步静态代码展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>水波效果</title>
</head>
<body>
    <div class="wave_wrapper">
        <span class="wave_scale">

        </span>
        <span class="wave_scale delay">

        </span>
    </div>
</body>
</html>

但是这个时候在页面上看不到任何效果
- 为div追加简单的标志性效果背景颜色

.wave_wrapper {
    margin: 20% auto;
    width: 800px;
    height: 800px;
    background-color: rgb(248, 41, 171);
}

c283c5ca5ec6b0e0f6c286167027be13.png

美化现有的波纹中心

  • 旋转中心div 圆角效果
.wave_wrapper {
    margin: 20% auto;
    width: 800px;
    height: 800px;
    background-color: rgb(248, 41, 171);
    transform: matrix(0.707, 0.707, -0.707, 0.707, 0, 0);
    border-radius: 20%;
}

1bd1e45ba3e2131b6eff5fb2b5e2b4ec.png

中心点扩散块

span {
            position: absolute;
            width: 50%;
            height: 50%;
            top: 25%;
            left: 25%;
            border: 0.2rem solid rgba(248, 41, 171, 0.28);
            border-radius: 50%;
            z-index: -1;
        }

e644605284c1455222be17cbce81052e.png

为中心点添加扩散效果

span.wave_scale {
    animation: wave_scale 3s linear infinite;
    -webkit-animation: wave_scale 3s linear infinite;
}
@keyframes wave_scale {
    from {
        transform: translate3d(-41px, -41px, 0px) scale(1, 1);
        -webkit-transform: scale(1, 1);
        opacity: 1;
    }
    to {
        transform: translate3d(-41px, -41px, 0px) scale(10, 10);
        -webkit-transform: scale(5, 5);
        opacity: 0;
    }
}
@-webkit-keyframes wave_scale {
    from {
        transform: translate3d(-41px, -41px, 0px) scale(1, 1);
        -webkit-transform: scale(1, 1);
        opacity: 1;
    }
    to {
        transform: translate3d(-41px, -41px, 0px) scale(10, 10);
        -webkit-transform: scale(5, 5);
        opacity: 0;
    }
}

除了平面的范围的扩大性覆盖,还要进行透明度的修改,简答的一层展示效果如下图:

e644605284c1455222be17cbce81052e.png

效果修饰

  • 为了看起来更加美观这边将第二部分的水波延迟加载一部分
span.wave_scale.delay {
    animation: wave_scale 3s linear infinite 0.3s;
    -webkit-animation: wave_scale 3s linear infinite 0.3s;
}

最终效果:

f23a8142514d31f788a4febc7135476e.gif

源代码获取(WX代号WAVE_001)
如有兴趣欢迎关注:码农的技术分享 获取源代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值