首页 > 其他分享 >有趣的css - 音频小动效

有趣的css - 音频小动效

时间:2024-03-19 12:01:02浏览次数:20  
标签:box 小动效 color 音频 audio37 animation background ffffff css

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是用 css3 实现一个好玩的音频小动效。

《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。


目录

整体效果

使用 css3 animation 动画属性模拟实现一个音频节奏变化的小动效。

一个好玩的音频小动效。


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码

<div class="audio-box37">
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
  <div class="audio37-block"></div>
</div>

用7个 div 标签,绘制音频节奏谱。

css 部分代码

.audio-box37{
  width: 84px;
  height: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.audio37-block{
  width: 6px;
  box-sizing: border-box;
  background-color: #97E138;
  animation: audio73-eff 2s linear infinite;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #97E138;
}
.audio37-block:nth-of-type(2){
  background-color: #FF3A85;
  animation-delay: .3s;
  animation-duration: 2.4s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FF3A85;
}
.audio37-block:nth-of-type(3){
  background-color: #A2DAF6;
  animation-delay: .38s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #A2DAF6;
}
.audio37-block:nth-of-type(4){
  background-color: #FFD6D0;
  animation-delay: .5s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FFD6D0;
}
.audio37-block:nth-of-type(5){
  background-color: #FF472C;
  animation-duration: 2.7s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FF472C;
}
.audio37-block:nth-of-type(6){
  background-color: #DE74CE;
  animation-delay: .6s;
  animation-duration: 1.4s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #DE74CE;
}
.audio37-block:nth-of-type(7){
  background-color: #36AFCA;
  animation-delay: .8s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #36AFCA;
}
@keyframes audio73-eff{
  0%{
    height: 0;
  }
  50%{
    height: 32px;
  }
  100%{
    height: 0;
  }
}

7个 div 基于 flex 布局,进行底部对齐,让7个 div 标签变化时从底部往上进行高度的变化

然后基于 animation 属性,再设置不同的延迟时间及动画时长,让7个 div 标签在视觉上实现不同的变化频率。

完整代码如下

html 页面

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <title>音频小动效</title>
  </head>
  <body>
    <div class="app">
      <div class="audio-box37">
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
        <div class="audio37-block"></div>
      </div>
    </div>
  </body>
</html>

css 样式

/** style.css **/
.app{
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.audio-box37{
  width: 84px;
  height: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.audio37-block{
  width: 6px;
  box-sizing: border-box;
  background-color: #97E138;
  animation: audio73-eff 2s linear infinite;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #97E138;
}
.audio37-block:nth-of-type(2){
  background-color: #FF3A85;
  animation-delay: .3s;
  animation-duration: 2.4s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FF3A85;
}
.audio37-block:nth-of-type(3){
  background-color: #A2DAF6;
  animation-delay: .38s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #A2DAF6;
}
.audio37-block:nth-of-type(4){
  background-color: #FFD6D0;
  animation-delay: .5s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FFD6D0;
}
.audio37-block:nth-of-type(5){
  background-color: #FF472C;
  animation-duration: 2.7s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #FF472C;
}
.audio37-block:nth-of-type(6){
  background-color: #DE74CE;
  animation-delay: .6s;
  animation-duration: 1.4s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #DE74CE;
}
.audio37-block:nth-of-type(7){
  background-color: #36AFCA;
  animation-delay: .8s;
  box-shadow: 0 -1px 0 #ffffff, 0 -2px 0 #36AFCA;
}
@keyframes audio73-eff{
  0%{
    height: 0;
  }
  50%{
    height: 32px;
  }
  100%{
    height: 0;
  }
}

页面渲染效果

以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。


[1] 原文阅读


CSS 是一种很酷很有趣的计算机语言,在这里跟大家分享一些 CSS 实例 Demo,为学习者获取灵感和思路提供一点帮助,希望你们喜欢。

我是 Just,这里是「设计师工作日常」,求点赞求关注!

标签:box,小动效,color,音频,audio37,animation,background,ffffff,css
From: https://blog.csdn.net/justliu1989/article/details/136837932

相关文章

  • HTML+CSS+JS实现一个图书管理的登录跳转,做的花里胡哨,当娱乐即可。
    目录1、大二上学期的一个小作业2、页面展示3、进入主页可以看到书籍,这个页面是参照某个博主写的,忘记是哪个了,好久了。4、点击右边的搜索框,会跳转到我写的另一个页面,这里面的都是固定的,不是灵活的,因为当时只学了web而已。5、获取源码地址1、大二上学期的一个小作业2、......
  • CSSE2002 java项目描述
    大型编程(CSSE2002)课业1-学期1,2024EEC学校昆士兰州大学必须通过做事来学习;因为你认为您知道,直到尝试之前,您都无法确定。-Sophocles不要打扰。修订1.1.0概述此任务提供了基于一个基于一个Java项目的实用经验提供的规格。该规范以Javadocs的形式提供,该规范描述了您的课......
  • 让图片适应标签的CSS object-fit属性
    在实际的项目运行过程中,可能出现运营人员上传的文件与预期的图片尺寸不同的情况,为了解决这一问题可以使用object-fit属性,对嵌入的图像(以及其他替代元素,如视频)做相应的变化,更加精确地控制图像的展示效果,从而满足多样化的设计需求。让图片适应标签的CSSobject-fit属性1......
  • jQuery+CSS3自动轮播焦点图特效源码
    jQuery+CSS3自动轮播焦点图特效源码,源码由HTML+CSS+JS组成,双击html文件可以本地运行效果,也可以上传到服务器里面下载地址jQuery+CSS3自动轮播焦点图特效源码......
  • 新人基础笔记css的文本属性及字体样式
    css的字体属性 1.字体系列CSS使用font-family属性定义文本的字体系列。语法:p{font-family:“微软雅黑”;}div{font-family:Arial,“MicrosoftYahei”,"微软雅黑";}各种字体之间必须使用英文状态下的逗号隔开一般情况下,如果有空格隔开的多个单词组成的字体,加引号......
  • CSS样式表和调试工具及语法及符合选择器
    注:CSS样式表,chrome调试工具,Emmet语法,css符合选择器一.样式表按照CSS样式书写的位置(或者引入的方式),CSS样式表可以分为三大类:1.行内样式表(行内式)行内样式表(内联样式表)是在元素标签内部的style属性中设定CSS样式。适合于修改简单样式。语法:<divstyle="color......
  • css实现一个三排数组滚动抽奖
    简单理解可视化版本:<divclass="slot-machine"><divclass="reel"><div>Item1</div><div>Item2</div><div>Item3</div><div>Item1<......
  • html css 两栏 三栏布局
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device......
  • 关于scss手动遍历生成类名
    1、自动生成宽度类名$width-name:300,100;@each$namein$width-name{.w#{$name}{width:$name+px;}};//以上代码将会生成.w300{width:300px;};.w100{width:100px;}2、自动生成间距类名$margin-name:(mt:(16,24,10),mb:(16),ml:......
  • css的基本使用
    CSS2.3结构伪类选择器伪类<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><style>ulli:first-child{background:brown;}......