div+css+js实现老式三维磁带声音机录音机按下播放音乐效果代码
代码语言:html
所属分类:动画
代码描述:div+css+js实现老式三维磁带声音机录音机按下播放音乐效果代码
代码标签: div css js 老式 三维 磁带 声音机 录音机 按下 播放 音乐
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
/***********************/
/***********************/
/***********************/
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
transform-style: preserve-3d;
user-select: none;
-webkit-tap-highlight-color: transparent;
appearance: none;
font-family: cursive;
}
/***********************/
/***********************/
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
width: 100%;
overflow: hidden;
cursor: grab;
background-color: #fffff9;
}
.face {
position: absolute;
}
.flex {
display: flex;
justify-content: center;
align-items: center;
}
/***********************/
/***********************/
.main {
position: absolute;
width: 70vmin;
height: 49vmin;
transform: perspective(700vmin) rotateX(60deg) rotateZ(40deg) translateZ(-10.5vmin);
transition: transform 350ms ease-out;
}
.shadows {
position: absolute;
top: 0;
left: -2%;
width: 102%;
height: 100%;
transform: translateZ(-0.175vmin);
background-color: #a67e6e;
}
.shadow {
position: absolute;
}
.shadow-1 {
top: 100%;
width: 100%;
height: 7vmin;
transform-origin: top left;
transform: skewX(-5deg);
background-image: linear-gradient(to bottom, #a67e6e, #b39284, #bda094 40%);
}
.shadow-2 {
left: 100%;
width: 1.75vmin;
height: 100%;
transform-origin: top left;
transform: skewY(40deg);
background-image: linear-gradient(to right, #a67e6e, #bda094);
}
.waves {
position: absolute;
top: 112%;
left: 0;
display: grid;
grid-auto-flow: column;
width: 100%;
height: 100%;
}
.is-wave-playing {
display: none;
}
.wave {
height: 0vmin;
width: 7vmin;
background-color: #bda094;
}
.wave:nth-of-type(2) {
animation: wave 500ms ease-in alternate infinite 200ms;
}
.wave:nth-of-type(3) {
animation: wave 500ms ease-in alternate infinite 300ms;
}
.wave:nth-of-type(4) {
animation: wave 500ms ease-in alternate infinite 400ms;
}
.wave:nth-of-type(5) {
animation: wave 500ms ease-in alternate infinite 500ms;
}
.wave:nth-of-type(6) {
animation: wave 500ms ease-in alternate infinite 600ms;
}
.wave:nth-of-type(1), .wave:nth-of-type(7) {
height: 0vmin;
animation: wave-2 600ms ease-in alternate infinite 4250ms;
}
@keyframes wave {
0%, 100% {
height: 7vmin;
}
24% {
height: 10.5vmin;
}
25%, 30% {
height: 11.375vmin;
}
55%, 60% {
height: 7.875vmin;
}
61%, 65% {
height: 11.55vmin;
}
80%, 82% {
height: 6.125vmin;
}
83%, 90% {
height: 5.25vmin;
}
95% {
height: 5.6875vmin;
}
}
@keyframes wave-2 {
0%, 50% {
height: 0vmin;
}
75%, 100% {
height: 8.75vmin;
}
}
.a {
width: 66.5vmin;
height: 47.25vmin;
position: absolute;
top: 0.875vmin;
left: 0;
}
.a__front {
width: 66.5vmin;
height: 1.75vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(45.5vmin);
}
.a__back {
width: 66.5vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-66.5vmin) translateY(-1.75vmin);
}
.a__right {
width: 47.25vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(66.5vmin) translateX(-47.25vmin) translateY(-1.75vmin);
}
.a__left {
width: 47.25vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.75vmin);
}
.a__top {
width: 66.5vmin;
height: 47.25vmin;
transform-origin: top left;
transform: translateZ(1.75vmin);
}
.a__bottom {
width: 66.5vmin;
height: 47.25vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-66.5vmin);
}
.a__front {
background-image: linear-gradient(to bottom, #988193, #bfb1bc);
}
.a__back {
background-image: linear-gradient(to bottom, #be9eb9, #d7c3d3);
}
.a__left {
background-image: linear-gradient(to bottom, #988193, #bfb1bc);
}
.a__right {
background-image: linear-gradient(to bottom, #aa97a6, #c1b3be);
}
.a__top {
background-color: #e7dbe5;
}
.a__bottom {
background-color: #aa97a6;
box-shadow: 0 0 1.3125vmin 0.875vmin #62473c;
}
.b {
width: 70vmin;
height: 49vmin;
position: absolute;
top: 0;
left: 0;
transform: translateZ(1.75vmin);
}
.b__front {
width: 70vmin;
height: 5.25vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(43.75vmin);
}
.b__back {
width: 70vmin;
height: 5.25vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-70vmin) translateY(-5.25vmin);
}
.b__right {
width: 49vmin;
height: 5.25vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(70vmin) translateX(-49vmin) translateY(-5.25vmin);
}
.b__left {
width: 49vmin;
height: 5.25vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-5.25vmin);
}
.b__top {
width: 70vmin;
height: 49vmin;
transform-origin: top left;
transform: translateZ(5.25vmin);
}
.b__bottom {
width: 70vmin;
height: 49vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-70vmin);
}
.b__front {
background-image: linear-gradient(to top, #2c2514, #3d341c);
border-top: 0.35vmin solid #62532c;
border-bottom: 0.35vmin solid #2b2513;
}
.b__front::after {
content: "";
position: absolute;
top: 55%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
width: 7.875vmin;
height: 2.1875vmin;
background-image: linear-gradient(to right, #0c0a05, black, #0c0a05);
}
.b__back {
background-image: linear-gradient(to bottom, #2c2514, #3d341c);
border-top: 0.35vmin solid #62532c;
border-bottom: 0.35vmin solid #3a311a;
}
.b__left {
background-image: linear-gradient(to top, #2c2514, #3d341c);
border-top: 0.35vmin solid #62532c;
border-bottom: 0.35vmin solid #2c2514;
}
.b__right {
background-image: linear-gradient(to top, #1d190d, #2f2815);
border-top: 0.35vmin solid #4e4324;
border-bottom: 0.35vmin solid #0c0a05;
}
.b__top {
background-color: #211c0f;
}
.b__bottom {
background-color: #0c0a05;
}
.c {
width: 38.325vmin;
height: 48.3vmin;
position: absolute;
top: 0.175vmin;
left: 0.175vmin;
transform: translateZ(7.175vmin);
}
.c__front {
width: 38.325vmin;
height: 1.75vmin;
transform-origin: bottom left;
transform: rotateX(-90deg) translateZ(46.55vmin);
}
.c__back {
width: 38.325vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateX(-90deg) rotateY(180deg) translateX(-38.325vmin) translateY(-1.75vmin);
}
.c__right {
width: 48.3vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateY(90deg) rotateZ(-90deg) translateZ(38.325vmin) translateX(-48.3vmin) translateY(-1.75vmin);
}
.c__left {
width: 48.3vmin;
height: 1.75vmin;
transform-origin: top left;
transform: rotateY(-90deg) rotateZ(90deg) translateY(-1.75vmin);
}
.c__top {
width: 38.325vmin;
height: 48.3vmin;
transform-origin: top left;
transform: translateZ(1.75vmin);
}
.c__bottom {
width: 38.325vmin;
height: 48.3vmin;
transform-origin: top left;
transform: rotateY(180deg) translateX(-38.325vmin);
}
.c__front {
background-image: linear-gradient(to top, #674e40, #96725d);
border-top: 0.2625vmin solid #b99681;
border-bottom: 0.2625vmin solid #785846;
}
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0