Html的css3法和python3 的matplotlib法实现波浪音节动画特效解析

感谢平台分享-http://bjbsair.com/2020-04-10/tech-info/53349.html

1.说明:

1.1 推荐指数:★★★★

1.2 熟悉html的css3相关知识,展现python的强大和matplotlib高级作图法,熟悉相关编程知识和思维。

1.3 本解析通俗易懂,适合任何人士,代码本人亲测过,建议python3.8、微软vscode编辑器和谷歌浏览器使用。

1.4 有点长,适合收藏,慢慢玩。

比较真实的音乐音效动画

2 先说python的matplotlib法

2.1 代码:

#---导出模块---
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np    

#---定义画布大小、颜色、布局---
#fig,ax=plt.subplots()  #等同于下面,建议采用下面这种方式
fig = plt.figure(figsize=(22,14),facecolor=‘black‘,edgecolor=‘white‘)
ax=fig.add_subplot(111, projection=‘3d‘,facecolor=‘black‘)  

#--定义3d坐标轴的z和x,y---
z=[30]
x = np.arange(10)
#跳1万次结束
for i in range(10000):
    y = np.random.rand(10)
    ax.cla()  #清楚之前的绘图,显示动态更新的效果
    #color,可以选c,r,g,w,y,b
    ax.bar(x, y, zs=z, zdir=‘y‘, color=‘y‘, alpha=1)
    #隐藏网格
    ax.grid(False)
    #隐藏三维坐标轴
    ax.axis(‘off‘)
    #这个要放在上面2个隐藏的后面,否则没效果
    plt.pause(0.05)   

#图片展示
plt.show()

2.2 效果图:

3 html的css3法:

3.1 效果图:

3.2 新建几个文件:如图

matplotlib法.py是上面的代码

3.3 css3法.html代码:

<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>CSS3波浪音阶动画特效</title>  

<link rel="stylesheet" href="./style.css">  

</head>
<body>  

<div class="container">
    <div class="bars bars--paused">
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
        <div class="bar"></div>
    </div>
</div>  

<script src="./script.js"></script>
</body>
</html>

3.4 script.js代码:

const bars = document.querySelectorAll(‘.bar‘);
let intervalValue = 0;  

const delay = time => new Promise(resolve => setTimeout(resolve, time));  

[...bars].map((bar) => {
    delay(0).then(() => {
        setTimeout(() => {
            bar.style.animation = ‘sound 500ms linear infinite alternate‘
        }, intervalValue += 100)
    })
})

3.5 style.css代码:

*{margin:0;padding:0;list-style-type:none;}  

.container {
  height: 100vh;
  /*背景颜色/从左到右渐变效果*/
  background: linear-gradient(to right,blue,pink);
  display: grid;
  place-items: center;
}
.container .bars {
  width: 300px;
  height: 150px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.container .bars .bar {
  height: 100%;
  width: 9%;
}  

/*浏览器兼容问题-谷歌浏览器*/
@-webkit-keyframes sound {
  0% {
    opacity: 0.35;
    background: greenyellow;
    height: 1px;
  }
  100% {
    opacity: 1;
    background:blueviolet;
    height: 100%;
  }
}

3.6 备注:本机时谷歌浏览器操作效果,很多时候考虑不同浏览器,需要在css文件后面继续添加适合其他浏览器,也就是在style.css代码后面将下面的代码复制进去即可。故意单独拿出来,主要是考虑代码的简洁性和突出相关浏览器设置知识的重要性。

/*其他浏览器兼容问题*/
/*浏览器兼容问题-欧朋浏览器*/
@-o-keyframes sound {
  0% {
    opacity: 0.35;
    background: greenyellow;
    height: 1px;
  }
  100% {
    opacity: 1;
    background:blueviolet;
    height: 100%;
  }
}
/*浏览器兼容问题-火狐浏览器*/
@-moz-keyframes sound {
  0% {
    opacity: 0.35;
    background: greenyellow;
    height: 1px;
  }
  100% {
    opacity: 1;
    background:blueviolet;
    height: 100%;
  }
}

4.讲一个额外的小知识点:(小细节注意一下)

在导入文件的路径时,html的:./xxx.xx和python的:./xxx.xx不同。

4.1 前者:html:./stytle.css指的是和html同一个文件夹即可。

4.2 后者:也是这个意思,但是在运行python的py文件时,需要注意,用微软的vscode编辑器直接按run(绿色小三角形)可能报错,在当前的目录下或文件夹下,进入终端运行python的编辑器,然后python xxx.py不会报错。

5.自己整理一下,分享出来,一看就懂。

原文地址:https://blog.51cto.com/14744108/2486406

时间: 2024-11-10 17:22:59

Html的css3法和python3 的matplotlib法实现波浪音节动画特效解析的相关文章

常用的css3鼠标悬停按钮动画特效

css3 按钮制作A标签属性hover css3带冒泡动画按钮 css3动画transform属性鼠标悬停图文列表动画效果 div CSS3动画带有的按钮_css3样式表属性动画按钮 创意CSS3属性鼠标悬停动画菜单 css3按钮动画特效大全鼠标滑过按钮动画特效 div css3 transition属性制作鼠标悬停图标导航菜单动画展示 21种css3 transition属性鼠标悬停导航条动画效果 纯div css3鼠标触碰图标背景渐变动画效果代码 css3动画鼠标滑过栏目图片滑动切换效果 c

python3 使用matplotlib画图出现中文乱码的情况

python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u'人数'),而是直接写plt.xlabel('人数'). 注意: 在有中文的地方加上中文相关的字体,不然会因为没有字体显示成放框,因为默认的使用的字体里没有中文的,使用例子如下: # -*- coding: utf-8 -*- import pandas as pd import numpy as np from pandas import Series,D

散列(2)线性探测法和双重散列法

接上篇 散列的简要描述和链地址法 解决散列冲突的方法: 1. 线性探测法 如果我们能够预测将要存入表中元素的数目,而且我们有足够的内存空间可以容纳带有空闲空间的所有关键字,那么使用链地址法是不值得的.我们依靠空的存储空间解决冲突:设计表长M大于元素数目N,开放地址法,最简单的开放地址法是线性探测法: 初始化 该符号表的实现将元素保存到大小是元素个数两倍的散列表中. void HashTableInit(int max) { N = 0; M = 2*max; hash_table = new I

Python算法教程第三章知识点:求和式、递归式、侏儒排序法和并归排序法

本文目录:一.求和式:二.递归式:三.侏儒排序法和并归排序法微信公众号:geekkr</br></br></br> 一.求和式 # 假设有一函数为f(),则在Python中经常使用的求和方法如下. sum(f(i) for i in range(m, n+1)) + sum(g(i) for i in range(m, n+1)) sum(f(i)+g(i) for i in range(m, n+1)) </br>二.递归式 # 举个栗子 def S(se

CSS3单选框动画特效实现步骤详解

在前端开发中,我们常常使用CSS3技术来实现单选框的动画特效,对于前端菜鸟而言,可能对这部分内容还不是很熟悉,今天就和大家分享一个这方面的案例,希望对大家学习CSS3技术有所帮助,一起来看看吧. 首先,来看一下我们的第一个特效 注意,这个地方的黄点不是我们特效的一部分,这个黄点之所以存在是我使用的屏幕录制软件自带的.可以很清楚的看到这个特效就是当我们点击的时候,黑点会以一种缩放的动画显示出来,下面来看看具体如何实现. <divclass="radio-1"> <inp

基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: <style type="text/css"> #liu{ width:280px; height: 279px; background: url(shishi.png) no-repeat; border-radius:140px; -webkit-animation:run 6s

CSS3实战开发:手把手教大家搜索表单发光特效实战开发

各位网友,大家好,我是陌上花会开,今天这个案例,我将带领大家,手把手教大家开发一个会发光的表单组,还是先秀运行效果图吧: 从这个效果图,大家可以发现,当光标在某个组件上时,它就会发光,今天我将带领大家实战开发这个特效. PS: 大家可以直接将博客中的代码复制到本地便可得到同样的运行效果. 首先,我们先准备好html代码: <!doctype html> <html> <head> <meta charset="utf-8"><met

css3动画特效:上下晃动的div

css3动画特效:上下晃动的div <div id="square" class="container animated">上下晃动</div> /** * transform-origin 设置旋转元素的基点位置 * animation-name 设置动画名称 * animation-duration 设置动画时间 * animation-fill-mode 设置播放后的状态 * animation-iteration-count 设置循环

简单的CSS3鼠标滑过图片标题和遮罩层动画特效

这是一款使用CSS3制作的简单的鼠标滑过图片标题和遮罩层动画特效.该鼠标滑过特效通过 CSS3transitions 和 transform 属性,在鼠标滑过图片时制作遮罩层和图片标题动画效果. 在线预览   源码下载 使用方法 HTML结构 该鼠标滑过图片特效的HTML结构非常简单:使用一个<div>元素作为图片遮罩层,在里面放置图片的描述信息. 1 2 3 4 5 6 7 8 <img src="img/01.jpg" alt=""> &