canvas+webgl模拟带声音水流动画效果代码

代码语言:html

所属分类:动画

代码描述:canvas+webgl模拟带声音水流动画效果代码

代码标签: canvas webgl 模拟 声音 水流 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  


  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  
  
<style>
:root {
	--clr-fg: #ffffff99;
}

* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	min-height: 100vh;
	overflow: hidden;
	background: repeating-radial-gradient(
		circle at center,
		#444 0 10%,
		#111 10% 20%
	);
	touch-action: none;
}

canvas {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.control {
	display: grid;
	place-content: center;
	position: absolute;
	width: 200px;
	height: 200px;
	inset: 0;
	margin: auto;
}

.control_label {
	opacity: 0;
	display: grid;
	place-content: center;
	transition: opacity 1200ms cubic-bezier(0.075, 0.82, 0.165, 1);
}

.control.initial .control_label {
	opacity: 1;
}

.control:hover .control_label {
	opacity: 1;
}

.control_display,
.control_input {
	grid-row: 1/-1;
	grid-column: 1/-1;
	position: relative;
	cursor: pointer;
}

.control_display {
	display: grid;
	place-content: center;
	font-size: 0.825em;
	font-weight: 500;
}

.control_display svg {
	--duration: 50ms;
	display: inline-block;
	stroke-linejoin: round;
	stroke-width: 2px;
	fill: var(--clr-fg);
	transition: var(--duration);
	transform: scale(1.1);
}

.control_display svg .speaker-vol {
	stroke-linecap: round;
}

.control_display svg .speaker-on {
	fill: none;
	stroke: none;
	opacity: 0;
	transition: opacity var(--duration);
}

.control_label:has([type="checkbox&quo.........完整代码请登录后点击上方下载按钮下载查看

网友评论0