CSS动画实现音频播放时柱状波动效果

通过CSS的动画属性animation可以实现音频播放时的动画效果,同时配合JS操作动画的animation-play-state属性,来控制动画的暂停和播放。
CSS动画

网页布局采用的flex布局。若在客户端展示,可使用定位布局(本人遇到flex布局会出现底部轻微颤动的bug)

.voice-playing{
    height: 50px;
    width: 40px;
    display: flex;
    /* 底部对齐,实现从下往上的动画效果 */
    align-items: flex-end;
    justify-content: space-between;
}
.play1{
    width: 10px;
    background-color: #bfc;
    animation: playing1 1s linear infinite alternate;
}
.play2{
    width: 10px;
    background-color: #bfc;
    animation: playing2 1s linear infinite alternate;
}
.play3{
    width: 10px;
    height: 10px;
    background-color: #bfc;
    animation: playing3 1s .5s linear infinite alternate;
}
@keyframes playing1 {
    0%{
        height: 10px;
    }
    100%{
        height: 30px;
    }
}
@keyframes playing2 {
    0%{
        height: 30px;
    }
    100%{
        height: 10px;
    }
}
@keyframes playing3 {
    0%{
        height: 10px;
    }
    100%{
        height: 30px;
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实现 Mac 页面切换时的动画效果,可以使用 CSS3 的动画特性和 transform 变形属性。 以下是一个简单的示例: HTML 代码: ```html <div class="page-container"> <div class="page page1">页面1</div> <div class="page page2">页面2</div> </div> ``` CSS 代码: ```css .page-container { position: relative; height: 400px; overflow: hidden; } .page { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: transform 0.5s ease-in-out; } .page1 { background-color: #ccc; } .page2 { background-color: #eee; transform: translateX(100%); } .page2.show { transform: translateX(0); } ``` 在这个示例中,我们使用了 `position: absolute` 将两个页面叠在一起,并设置了容器的 `overflow: hidden` 以隐藏超出容器的部分。 每个页面都设置了 `transition: transform 0.5s ease-in-out` 属性,表示当 `transform` 属性发生变化时,会有一个 0.5 秒的过渡效果。 页面 1 的 `transform` 属性没有任何值,表示不进行任何变形。 页面 2 的 `transform` 属性设置为 `translateX(100%)`,表示将页面向右平移 100% 的宽度,使其离开可视区域。 当要切换到页面 2 时,我们可以通过添加 `.show` 类来触发动画。例如: ```javascript document.querySelector('.page2').classList.add('show'); ``` 这会将页面 2 平移回可视区域,触发动画效果。 当然,这只是一个简单的示例,实际应用中可能需要更复杂的动画效果,可以通过调整 `transition` 和 `transform` 的属性值来实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值