css实现经典磁盘式录音机动画效果代码

代码语言:html

所属分类:动画

代码描述:css实现经典磁盘式录音机动画效果代码

代码标签: css 磁盘式 经典 录音机 动画

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

<!DOCTYPE html>

<html lang="en">

<head>

   
<meta charset="UTF-8">


   
<style>
        @import url(https://fonts.googleapis.com/css?family=Montserrat:400);
        :root {
                --base: rgb(186, 98, 154);
                /*      --base:rgb(167,95,68); */
                /*      --base:rgb(184,64,102); */
       
                --r: 64;
                --g: 102;
                --b: 184;
                /*      highest value should be the one that's nonzero */
                --col00: rgb(0, 0, calc(var(--b) - 100));
                --col0: rgb(calc(var(--r) - 50), calc(var(--g) - 50), calc(var(--b) - 50));
                --col1: rgb(calc(var(--r) - 40), calc(var(--g) - 40), calc(var(--b) - 40));
                --col2: rgb(calc(var(--r) - 30), calc(var(--g) - 30), calc(var(--b) - 30));
                --col3: rgb(calc(var(--r) - 20), calc(var(--g) - 20), calc(var(--b) - 20));
                --col4: rgb(calc(var(--r) - 10), calc(var(--g) - 10), calc(var(--b) - 10));
                --col5: rgb(var(--r), var(--g), var(--b));
                --col6: rgb(calc(var(--r) + 10), calc(var(--g) + 10), calc(var(--b) + 10));
                --col7: rgb(calc(var(--r) + 20), calc(var(--g) + 20), calc(var(--b) + 20));
                --col8: rgb(calc(var(--r) + 30), calc(var(--g) + 30), calc(var(--b) + 30));
                --col9: rgb(calc(var(--r) + 40), calc(var(--g) + 40), calc(var(--b) + 40));
                --col10: rgb(calc(var(--r) + 50), calc(var(--g) + 50), calc(var(--b) + 50));
                --col11: rgb(calc(var(--r) + 60), calc(var(--g) + 60), calc(var(--b) + 60));
                --col12: rgb(calc(var(--r) + 70), calc(var(--g) + 70), calc(var(--b) + 70));
                --col13: rgb(calc(var(--r) + 80), calc(var(--g) + 80), calc(var(--b) + 80));
                --speckled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='filter'%3E%3CfeTurbulence baseFrequency='0.09637' numOctaves='8' seed='655' /%3E%3CfeColorMatrix values='4.5 -3.2 2.4 2.9 0.9 -3.6 2.7 4.2 -0.4 1.7 -0.9 -3.3 -1.3 3.6 3.3 -3.2 2.7 2.8 0.1 2.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23filter)'/%3E%3C/svg%3E%0A")
                        no-repeat center;
                --speckled2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='filter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.05'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 0 0 1 1'/%3E%3C/feComponentTransfer%3E%3CfeComposite in='SourceGraphic' operator='in'/%3E%3CfeMorphology radius='1' operator='dilate'/%3E%3CfeGaussianBlur stdDeviation='1'/%3E%3C/filter%3E%3Ccircle r='150%25'/%3E%3Cg fill='none' stroke='%23bef' stroke-width='99%25' filter='url(%23filter)'%3E%3Ccircle cx='50%25' cy='50%25' r='57%25' stroke-dasharray='2 60 .5 60'/%3E%3Ccircle cx='50%25' cy='50%25' r='71%25' stroke-dasharray='.5 43 2 47'/%3E%3C/g%3E%3C/svg%3E")
                        no-repeat center;
        }
        body {
                height: 100vh;
                width: 100vw;
                margin: 0 auto;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='blur'%3E%3CfeGaussianBlur stdDeviation='4' /%3E%3C/filter%3E%3Cpattern id='wave' width='200' height='120' patternUnits='userSpaceOnUse'%3E%3Cg filter='url(%23blur)' fill='none' stroke-width='14' stroke-linecap='round'%3E%3Cpath class='path1' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 -40)' stroke='rgb(0,0,140)' /%3E%3Cpath class='path2' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 -20)' stroke='rgb(0,0,150)' /%3E%3Cpath class='path1' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 0)' stroke='rgb(0,0,100)' /%3E%3Cpath class='path2' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 20)' stroke='rgb(0,0,110)' /%3E%3Cpath class='path3' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 40)' stroke='rgb(0,0,120)' /%3E%3Cpath class='path4' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 60)' stroke='rgb(0,0,130)' /%3E%3Cpath class='path5' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 80)' stroke='rgb(0,0,140)' /%3E%3Cpath class='path6' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 100)' stroke='rgb(0,0,150)' /%3E%3Cpath class='path1' d='M -50 0 Q -25 -25 0 0 Q 25 25 50 0 Q 75 -25 100 0 Q 125 25 150 0 Q 175 -25 200 0 Q 225 25 250 0' transform='translate(0 120)' stroke='rgb(0,0,100)' /%3E%3C/g%3E%3C/pattern%3E%3Crect width='100%25' height='100%25' fill='rgb(0,0,90)' /%3E%3Crect width='100%25' height='100%25' fill='url(%23wave)' /%3E%3C/svg%3E");
        }
        img {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(calc(-50% + 10px), calc(-50% + 14px));
                opacity: 0.3;
        }
        .recordBg {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(calc(-50% - 20px), -50%);
                height: 210px;
                width: 210px;
        }
        .playerBg {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                height: 222px;
                width: 300px;
                background-color: var(--col5);
                border-radius: 20px;
                opacity: 0.9;
                overflow: hidden;
                box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.5);
        }
        .knobTL {
                position: absolute;
                top: 4%;
                left: 4%;
                height: 14%;
                width: 10.36%;
                border-radius: 50%;
                background-color: var(--col11);
        }
       
        .knobTR {
                position: absolute;
                top: 6%;
                right: 3.5%;
                height: 26%;
                width: 19.24%;
                border-radius: 50%;
                background-color: var(--col11);
        }
        .knobTR > i:nth-child(1) {
                position: absolute;
                top: 50%;
                left: 50%;
                height: 66%;
                width: 66%;
                transform: translate(-50%, -50%);
                border-radius: 50%;
                background-color: var(--col00);
                border: 2px solid var(--col13);
        }
        .knobBL {
                position: absolute;
                bottom: 11.5%;
                left: 4.5%;
                height: 10%;
                width: 7.4%;
                border-radius: 50%;
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0