通过 CSS 的样式实现语音发送动效类似声音震动的效果

news2024/11/26 6:21:32

 实现效果:一般用于发送语音的时候,出现动画效果

 

 

//模版部分
<view  class="musical-scale">
		  <view class="scale">
		    <view class="em" v-for="(item,index) in 15" :key="index"></view>
		  </view>
</view>


//css样式+动画
.musical-scale {
	  position: absolute;
	  bottom: 50%;
	  width: 80%;
	  height: 96rpx;
	  background-color: #E2F0FF;
	  border-radius: 48rpx;
	  z-index: 1;
	  text-align: center;
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;
	
	  .scale {
	    width: 65%;
	    height: 56rpx;
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	
	    .em {
	      display: block;
	      background: #007AFF;
	      width: 4rpx;
	      height: 10%;
	      float: left;
	
	      &:last-child {
	        margin-right: 0px;
	      }
	
	      &:nth-child(1),
	      &:nth-child(15) {
	        animation: load 2.5s 1.4s infinite linear;
	      }
	
	      &:nth-child(2),
	      &:nth-child(14) {
	        animation: load 2.5s 1.2s infinite linear;
	      }
	
	      &:nth-child(3),
	      &:nth-child(13) {
	        animation: load 2.5s 1s infinite linear;
	      }
	
	      &:nth-child(4),
	      &:nth-child(12) {
	        animation: load 2.5s 0.8s infinite linear;
	      }
	
	      &:nth-child(5),
	      &:nth-child(11) {
	        animation: load 2.5s 0.6s infinite linear;
	      }
	
	      &:nth-child(6),
	      &:nth-child(10) {
	        animation: load 2.5s 0.4s infinite linear;
	      }
	
	      &:nth-child(7),
	      &:nth-child(9) {
	        animation: load 2.5s 0.2s infinite linear;
	      }
	
	      &:nth-child(8) {
	        animation: load 2.5s 0s infinite linear;
	      }
	
	      @keyframes load {
	        0% {
	          height: 10%;
	        }
	
	        50% {
	          height: 100%;
	        }
	
	        100% {
	          height: 10%;
	        }
	
	      }
	    }
	  }
	}

在模板中,该区域具有 musical-scale 类,以设置其样式属性。在该区域内部,有一个 scale 类的容器,容器内部通过 v-for 遍历生成了15个 em 元素,每个 em 元素都会应用动画效果。通过 @keyframes 定义的 load 动画,控制了 em 元素的高度从10%到100%再到10%的变化过程,形成了录音的动画效果。

总结起来,这段代码实现了一个简单的录音动画效果,通过 CSS 的样式定义和动画关键帧的设置,使得一组垂直排列的短竖条在高度上呈现周期性的变化,形成了类似声音震动的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记录这这段时间发生的事情。

当做后端的时候总是被骂做前很丑。成为一个UI设计师与后端工程师才会更加完美。 尝试着做一个主页面。 创建了一个主页面 的表格index。 收录了希望发送到主页的&#xff0c;的帖子。 并且&#xff0c;可以填写是否可以。 一个看起来不错的主页。 标题设计的左右框。 这种框…

自动化运维——Ansible学习(四)——roles角色

目录 一、roles概述 二、角色的使用 1.角色(roles)&#xff1a;角色集合 2.roles建议存放位置 3.调用角色的方法 (1)调用角色方法1 (2)调用角色方法2 4.完整的角色架构 5.roles playbook tags使用 三、Ansible Roles目录编排 四、roles目录 (一)roles目录结构 …

剑指offer简单题01-10

01 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param numbers int整型一维数组 * return int整型*/public int duplicate (int[] numbers) {// write code hereint…

【计算机视觉|人脸识别】 facenet-pytorch 项目中文说明文档

下文搬运自GitHub&#xff0c;很多超链接都是相对路径所以点不了&#xff0c;属正常现象。点击查看原文档。转载请注明出处。 原作者暂时并未对我的提交做出回应&#xff0c;这里同步提交到CSDN&#xff0c;点击查看项目源码 使用 Pytorch 进行人脸识别 Click here to return …

git 和adb

一、git 1、git的作用 git是一个版本控制系统&#xff0c;是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 我的理解就是代码管理器&#xff1a; 第一点你可将代码备份到git仓上&#xff1b; 第二点可记录的你修改记录&#xff1b; 第三点…

Vue中TodoLists案例_删除

与上一篇Vue中TodoList案例_勾选有三个文件变化了 App.vue&#xff1a;添加了一个deleteTodo根据id删除方法&#xff0c;传递给儿子组件MyList <template><div id"root"><div class"todo-container"><div class"todo-wrap"…

Android ObjectBox数据库的使用与详解

一、介绍 Room数据库 之前我已介绍了jetpack组件的数据库&#xff1a;Room&#xff0c;有小伙伴需要了解Room数据库可以查看这个地址&#xff1a;Android JetPack组件之Room数据库的集成与详解_android room数据库_蜗牛、Z的博客-CSDN博客 数据库的性能对设备来说很重要&#…

【雕爷学编程】Arduino动手做(168)---ATTINY85迷你USB开发板

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【Spring MVC学习】连接 接收请求参数 响应返回参数

目录 前言&#xff1a;认识Spring MVC &#x1f337;1、什么是MVC&#xff1f; 一、建立连接&#xff08;5个注解&#xff09; &#x1f337;1、RequestMapping注解:注册接⼝的路由映射&#xff08;默认返回页面&#xff09; &#x1f337;2、ResponseBody注解&#xff1a…

从简单线性回归到TensorFlow深度学习

大家好&#xff0c;人工智能近年来变得越来越流行&#xff0c;学习人工智能的需求也随之增加&#xff0c;尤其是许多IT专业人士希望利用机器学习的强大功能&#xff0c;但面临不小的挑战&#xff0c;尤其是在理论和数学上。 步骤1&#xff1a;线性回归 线性回归是一种统计学中…

Centos7:http/PhP升级

系列文章目录 RHCE第0章&#xff1a;RHCE开始前的准备 RHCE第1章&#xff1a;Web服务器&#xff08;上&#xff09; RHCE第1章&#xff1a;Web服务器&#xff08;下&#xff09; RHCE第2章&#xff1a;DNS服务 RHCE第3章&#xff1a;DHCP服务器 RHCE第4章&#xff1a;Firewall…

第一天基础名词

文章目录 一、域名1、域名的概念2、域名注册3、域名的分类 二、DNS1、DNS的概念2、DNS解析3、本地hosts文件与DNS的关系4、如何查看本地Hosts文件 三、CDN1、CDN的概念2、CDN原理&#xff08;1&#xff09;回顾域名解析&#xff08;2&#xff09;CDN原理 3、常见DNS攻击 四、脚…

【C语言】结构体与offsetof实现

远看山有色&#xff0c;近听水无声。春去花还在&#xff0c;人来鸟不惊。 — 唐代王维《画》 这篇博客我们会详细介绍结构体相关知识&#xff0c;干货满满。 结构体的声明&#x1f340; 一般来说结构体应该有成员列表和变量列表这两个基础的模式。 例如描述一个学生&#xf…

Windows下YUICompress实现js、css混淆压缩

首先&#xff0c;我们针对Linux下的部分命令进行Windows系统的对应实现 ls————cmd /c dir/b rm————cmd /c del mv————cmd /c move pwd————cmd /c chdir 注&#xff1a;cmd /c是执行完命令后关闭命令行窗口、cmd /k是执行完命令后不关闭命令行窗口、cmd /c sta…

Vue第五篇:电商网站登录时vuex的使用

页面&#xff1a; 代码资源见&#xff1a;https://download.csdn.net/download/benben044/88071987 其中css使用开源库的UI&#xff0c;Main里面的元素是一张截图。 通过vuecli脚手架生成的代码架构如下&#xff1a; 一、入口组件App.vue解析 主页面主要由两部分组成&#x…

Leetcode-每日一题【114.二叉树展开为链表】

题目 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例…

OSI七层模型和TCP/IP四层模型以及五层模型

OSI七层模型&#xff08;Open System Interconnect&#xff09;即开放系统互连参考模型&#xff0c;是由ISO&#xff08;International Organization for Standardization&#xff09;国际标准化组织提出的&#xff0c;用于计算机或通信系统间互联的标准体系。 从上到下可分为…

Flask 导航栏,模版渲染多页面

项目结构 app.py from flask import Flask, render_templateapp Flask(__name__)app.route(/) def index():return render_template(index.html)app.route(/secondpage) def secondpage():return render_template(secondpage.html)app.route(/threepage) def threepage():ret…

Linux驱动开发实战(一)——设备驱动模型

文章目录 前言设备驱动模型概述设备驱动模型的功能sysfs文件系统sysfs文件系统的目录结构 设备驱动模型的核心数据结构kobject结构体设备属性kobj_type 注册kobject到sysfs中的实例设备驱动模型结构kset集合kset与kobject的关系kset相关的操作函数注册kobject到sysfs中的实例实…

绘出「星辰大海」:华为云Astro轻应用新手指南-第一章

第1章 旅程的开端 发现Astro轻应用地图 第1站&#xff1a;创建账户 首先&#xff0c;你需要在华为云Astro官网注册专属账号。若已有华为账户&#xff0c;可直接登录。 在官网点击「立即使用」&#xff0c;即可跳转至「登录界面」 在「登录界面」点击「注册」&#xff0c;注册…