js+css实现简洁的音乐播放器效果代码
代码语言:html
所属分类:多媒体
代码描述:js+css实现简洁的音乐播放器效果代码,包含播放、下一首、上一首、进度显示、歌名显示、专辑照片等。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/font-awesome-4.7.0/css/font-awesome.min.css"> <style> *:focus { outline: none; } body { font-family: Helvetica, Arial; margin: 0; background-color: #ffeff5; } #app-cover { position: absolute; top: 50%; right: 0; left: 0; width: 430px; height: 100px; margin: -4px auto; } #bg-artwork { position: fixed; top: -30px; right: -30px; bottom: -30px; left: -30px; filter: blur(40px); -webkit-filter: blur(40px); z-index: 1; } #bg-layer { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #fff; opacity: 0.51; z-index: 2; } #player { position: relative; height: 100%; z-index: 3; } #player-track { position: absolute; top: 0; right: 15px; left: 15px; padding: 13px 22px 10px 184px; background-color: #fff7f7; border-radius: 15px 15px 0 0; transition: 0.3s ease top; z-index: 1; } #player-track.active { top: -92px; } #album-name { color: #54576f; font-size: 17px; font-weight: bold; } #track-name { color: #acaebd; font-size: 13px; margin: 2px 0 13px 0; } #track-time { height: 12px; margin-bottom: 3px; overflow: hidden; } #current-time { float: left; } #track-length { float: right; } #current-time, #track-length { color: transparent; font-size: 11px; background-color: #ffe8ee; border-radius: 10px; transition: 0.3s ease all; } #track-time.active #current-time, #track-time.active #track-length { color: #f86d92; background-color: transparent; } #s-area, #seek-bar { position: relative; height: 4px; border-radius: 4px; } #s-area { background-color:#ffe8ee; cursor: pointer; } #ins-time { position: absolute; top: -29px; color: #fff; font-size: 12px; white-space: pre; padding: 5px 6px; border-radius: 4px; display:none; } #s-hover { position: absolute; top: 0; bottom: 0; left: 0; opacity: 0.2; z-index: 2; } #ins-time, #s-hover { background-color: #3b3d50; } #seek-bar { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 0; background-color: #fd6d94; transition: 0.2s ease width; z-index: 1; } #player-content { position: relative; height: 100%; background-color: #fff; box-shadow: 0 30px 80px #656565; border-radius: 15px; z-index: 2; } #album-art { position: absolute; top: -40px; width: 115px; height: 115px; margin-left: 40px; -webkit-transform: rotateZ(0); transform: rotateZ(0); transition: 0.3s ease all; box-shadow: 0 0 0 10px #fff; border-radius: 50%; overflow: hidden; } #album-art.active { top: -60px; box-shadow: 0 0 0 4px #fff7f7, 0 30px 50px -15px #afb7c1; } #album-art:before { content: ''; position: absolute; top: 50%; right: 0; left: 0; width: 20px; height: 20px; margin: -10px auto 0 auto; background-color: #d6dee7; border-radius: 50%; box-shadow: inset 0 0 0 2px #fff; z-index: 2; } #album-art img { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: -1; } #album-art img.active { opacity: 1; z-index: 1; } #album-art.active img.active { z-index: 1; -webkit-animation: rotateAlbumArt 3s linear 0s infinite forwards; animation: rotateAlbumArt 3s linear 0s infinite forwards; } @-webkit-keyframes rotateAlbumArt { 0%{ -webkit-transform: rotateZ(0); transform: rotateZ(0); } 100%{ -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg); } } @keyframes rotateAlbumArt { 0%{ -webkit-transform: rotateZ(0); transform: rotateZ(0); } 100%{ -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg); } } #buffer-box { position: absolute; top: 50%; right: 0; left: 0; height: 13px; color: #1f1f1f; font-size: 13px; font-family: Helvetica; text-align: center; font-weight: bold; line-height: 1; padding: 6px; margin: -12px auto 0 auto; background-color: rgba(255, 255, 255, 0.19); opacity: 0; z-index: 2; } #album-art img, #buffer-box { transition: 0.1s linear all; } #album-art.buffering img { opacity: 0.25; } #album-art.buffering img.active { opacity: 0.8; filter: blur(2px); -webkit-filter: blur(2px); } #album-art.buffering #buffer-box { opacity: 1; } #player-controls { width: 250px; height: 100%; margin: 0 5px 0 141px; float: right; overflow: hidden; } .control { width: 33.333%; float: left; padding: 12px 0; } .button { width: 26px; height: 26px; padding: 25px; background-color: #fff; border-radius: 6px; cursor: pointer; } .button i { display: block; color: #d6dee7; font-size: 26px; text-align: center; line-height: 1; } .button, .button i { transition: 0.2s ease all; } .button:hover { background-color: #d6d6de; } .button:hover i { color: #fff; } #follow-me-link { top: 10px; font-size: 13px; padding: 5px 7px; background-color: #f86d92; border-radius: 2px; } #share-link { top: 45px; width: 16px; height: 16px; padding: 10px; font-size: 16px; background-color: #7dca24; border-radius: 50%; } #follow-me-link, #share-link { position: fixed; right: 10px; color: #fff; text-align: center; text-decoration: none; z-index: 125; } </style> </head> <body> <div id="app-cover"> <div id="bg-artwork"></div> <div id="bg-layer"></div> <div id="player"> <div id="player-track"> <div id="album-name"></div> <div id="track-name"></div> <div id="track-time"> <div id="current-time"></div> <div id="track-length"></div> </div> <div id="s-area"> <div id="ins-time"></div> <div id="s-hover"></div> <div id="seek-bar"></div> </div> </div> <div id="player-content"> <div id="album-art"> <img src="//repo.bfw.wiki/bfwrepo/image/5e584482a56eb.png?x-oss-process=image/auto-orient,1/resize,m_fill,w_100,h_100,/quality,q_90" class="active" id="_1"> <img src="//repo.bfw.wiki/bfwrepo/image/5fcd6f952cb56.png" id="_2"> <img src="//repo.bfw.wiki/bfwrepo/image/61132edb7fba9.png" id="_3"> <img src="//repo.bfw.wiki/bfwrepo/image/61132edb7fba9.png" id="_4"> <img src="//repo.bfw.wiki/bfwrepo/image/61132edb7fba9.png" id="_5"> <div id="buffer-box">缓冲…</div> </div> <div id="player-controls"> <div class="control"> <div class="button" id="play-previous"> <i class="fas fa fa-step-backward "></i> </div> </div> <div class="control"> <div cl.........完整代码请登录后点击上方下载按钮下载查看
网友评论0