js实现一个简洁的带列表的音乐播放器效果代码
代码语言:html
所属分类:多媒体
代码描述:js实现一个简洁的带列表的音乐播放器效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@700&display=swap'); html { box-sizing: border-box ; --parent-height : 20em ; --duration: 1s ; --duration-text-wrap: 12s 1.5s cubic-bezier(0.82, 0.82, 1, 1.01) ; --cubic-header: var(--duration) cubic-bezier(0.71, 0.21, 0.3, 0.95) ; --cubic-slider : var(--duration) cubic-bezier(0.4, 0, 0.2, 1) ; --cubic-play-list : .35s var(--duration) cubic-bezier(0, 0.85, 0.11, 1.64) ; --cubic-slider-context : cubic-bezier(1, -0.01, 1, 1.01) ; } html *, html *::before, html *::after { box-sizing: inherit ; } body{ margin: 0 ; height: 100vh ; display: flex ; user-select: none ; align-items: center ; justify-content: center ; background-color: #e5e7e9 ; font-family: 'Quicksand', sans-serif ; -webkit-tap-highlight-color: transparent ; transition: background-color var(--cubic-slider) ; } .img { width: 100% ; display: block ; object-fit: cover ; } .list { margin: 0 ; padding: 0 ; list-style-type: none ; } .flex { display: flex ; align-items: center ; justify-content: space-between ; } .uppercase{ text-transform: uppercase ; } .player { width: 17.15em ; display: flex ; overflow: hidden ; font-size: 1.22em ; border-radius: 1.35em ; flex-direction: column ; background-color: white ; height: var(--parent-height) ; } .player__header { z-index: 1 ; gap: 0 .4em ; width: 100% ; display: flex; height: 5.85em ; flex-shrink: 0 ; position: relative; align-items: flex-start ; border-radius: inherit ; justify-content: flex-end ; background-color: white ; padding: .95em 0.6em 0 1.2em ; box-shadow: 0 2px 6px 1px #0000001f ; transition: height var(--cubic-header), box-shadow var(--duration), padding var(--duration) ease-in-out ; } .player__header.open-header { height: 100% ; padding-left: 0 ; padding-right: 0 ; box-shadow: unset ; } .player__img { width: 3.2em ; height: 3.2em ; border-radius: 1.32em ; } .player__img--absolute { top: 1.4em ; left: 1.2em ; position: absolute ; } .slider { flex-shrink: 0 ; overflow: hidden ; transition: width var(--cubic-header), height var(--cubic-header), top var(--cubic-header), left var(--cubic-header); } .slider.open-slider{ top: 0 ; left: 0 ; width: 100% ; height: 14.6em ; } .slider__content { display: flex ; height: 100% ; transition: transform var(--cubic-slider); } .slider__img { filter: brightness(75%) ; } .slider__name, .slider__title { overflow: hidden ; white-space: nowrap ; } .text-wrap { display: block ; white-space: pre ; width: fit-content ; animation: text-wrap var(--duration-text-wrap) infinite ; } @keyframes text-wrap { 75%{ transform: translate3d(-51.5%, 0, 0) ; } 100%{ transform: translate3d(-51.5%, 0, 0) ; } } .player__button { all: unset ; z-index: 100 ; width: 2.5em ; height: 2.5em ; cursor: pointer ; } .playlist { transform: scale(0) ; transition: transform calc(var(--duration) / 2) ; } .slider.open-slider .playlist { transform: scale(1) ; transition: transform var(--cubic-play-list) ; } .player__button--absolute--nw { top: 5.5% ; left: 5.5% ; position: absolute ; } .player__button--absolute--center { top: 0 ; left: 0 ; right: 0 ; bottom: 0 ; margin: auto ; position: absolute ; } img[alt ="pause-icon.........完整代码请登录后点击上方下载按钮下载查看
网友评论0