android 小喇叭动画,CSS动画效果——语音播放小喇叭

本文介绍了如何使用CSS3来创建一个类似倒置WiFi图标的小喇叭语音播放动画效果。通过设置div的border和border-radius,再结合animation控制渐进渐出,实现了波浪式的递推效果,替代了传统图片或JavaScript实现的方案。文章提供了详细的代码示例,展示了前端开发者如何利用CSS3提升页面动画的视觉体验。
摘要由CSDN通过智能技术生成

写业务代码经常会碰到要自己实现一些设计交给的小动画,今天我们就来看下小喇叭那种类似倒过来的wifi图标一样的效果:

5a3cfcc764f5

语音播放效果

对于这个有几种实现方案:

一种是直接把图标.png文件放在下面,然后再在上面覆盖一层跟它弧度相似的圆形div,通过css的animation去控制那个覆盖的div从左向右移动,从而实现出这种效果(其实还是有区别的,用div控制移动就会出现一个一个逐渐出现且,会同时消失的场景,而不是这种波浪式的递推)

另外一种是把这个图标切分成三块,通过布局调整每个小图标的间距,然后通过js去控制每个小图标的出现顺序以及时间,这种方法的好处就是很灵活,而且代码编写起来也比较直观。

但是我们作为一个前端攻城狮不能老写偏中后台的逻辑代码,总得学会用css装饰自己吧,更何况现在css3的出现,页面的动画变得可以像ppt一样舒服了。所以我介绍下最后一种方式,就是用div块去设定border然后再给div一个border-radius:50%,做出三个圆调整好位置,然后用一个矩形的div转变角度去盖住这三个圆,最后通过css3的animation去控制渐进渐出,从而实现上图的效果!

话不多说上代码:

5a3cfcc764f5

div结构

5a3cfcc764f5

css代码外部div块以及圆环通用样式

5a3cfcc764f5

css代码每个小环的大小、位置以及动画定义

5a3cfcc764f5

渐进渐出动画效果定义

文末附上完整代码:

微信语音样式

*{

margin: 0;

padding: 0;

}

.box {

width: 120px;

height: 120px;

box-sizing: border-box;

position: relative;

margin: 50px auto;

}

.wifi-symbol {

width: 50px;

height: 50px;

box-sizing: border-box;

overflow: hidden;

transform: rotate(135deg);

}

.wifi-circle {

border: 5px solid #999999;

border-radius: 50%;

position: absolute;

}

.first {

width: 5px;

height: 5px;

background: #cccccc;

top: 45px;

left: 45px;

}

.second {

width: 25px;

height: 25px;

top: 35px;

left: 35px;

animation: fadeInOut 1s infinite 0.2s;.

}

.third {

width: 40px;

height: 40px;

top: 25px;

left: 25px;

animation: fadeInOut 1s infinite 0.4s;

}

@keyframes fadeInOut {

0% {

opacity: 0; /*初始状态 透明度为0*/

}

100% {

opacity: 1; /*结尾状态 透明度为1*/

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值