@charset "UTF-8"; /* ---- # Kico Player 0.9 # By: Dreamer-Paul # Last Update: 2021.8.30 一个简洁强大的网页音乐播放器。 本代码为奇趣保罗原创,并遵守 MIT 开源协议。欢迎访问我的博客:https://paugram.com ---- */ kplayer{ --kp-primary: #3498db; --kp-secondly: #ffc670; --kp-gray: #aaa; display: block; overflow: auto; font-size: 14px; line-height: 1.5em; background: #fff; border-radius: 4px; position: relative; box-shadow: 0 1px 5px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1); } kplayer *{ margin: 0; padding: 0; box-sizing: border-box; } /* - 面板 */ kplayer .kp-header{ height: 4em; cursor: default; overflow: hidden; line-height: 1em; user-select: none; position: relative; } /* - 专辑 */ kplayer .kp-cover{ width: 4em; height: 4em; float: left; margin-right: 1em; vertical-align: middle; transition: background .3s; background: var(--kp-gray) url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMqaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAyMSA3OS4xNTQ5MTEsIDIwMTMvMTAvMjktMTE6NDc6MTYgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTNERjEzRjQzMDQzMTFFOEI5NkQ5NTkwMTU2NDBFMzUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTNERjEzRjUzMDQzMTFFOEI5NkQ5NTkwMTU2NDBFMzUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1M0RGMTNGMjMwNDMxMUU4Qjk2RDk1OTAxNTY0MEUzNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1M0RGMTNGMzMwNDMxMUU4Qjk2RDk1OTAxNTY0MEUzNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uACZBZG9iZQBkwAAAAAEDABUEAwYKDQAABu4AAAdjAAAJgAAAC1D/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) center/cover; } /* - 时间 */ kplayer .kp-time{ left: 0; width: 4em; opacity: 0; color: #fff; display: block; line-height: 4em; position: absolute; text-align: center; transition: opacity .3s; background: rgba(0, 0, 0, .5); border-top-left-radius: 4px; } kplayer .kp-header:hover .kp-time{ opacity: 1; } /* - 信息 */ kplayer .kp-info{ margin: .6em 6.5em .5em 5em; } kplayer .kico-title, kplayer .kico-artist{ display: block; overflow: hidden; white-space: nowrap; padding-bottom: .5em; text-overflow: ellipsis; } kplayer .kico-artist{ color: #aaa; color: var(--kp-gray); font-size: .85em; } /* - 按钮 */ kplayer .kp-controls{ top: 0; left: 4em; right: 0; bottom: 0; opacity: 0; padding: .5em; background: #fff; position: absolute; transition: opacity .3s; } kplayer .kp-header:hover .kp-controls{ opacity: 1; } kplayer .control-item{ color: #3498db; color: var(--kp-primary); cursor: pointer; display: inline-block; } kplayer .control-item svg{ width: 2.5em; height: 2.5em; } /* - 设置 */ kplayer .kp-settings{ top: .75em; right: .5em; position: absolute; } kplayer .setting-item{ width: 2em; color: #aaa; color: var(--kp-gray); cursor: pointer; line-height: 2em; text-align: center; display: inline-block; } kplayer .setting-item svg{ width: 1.5em; height: 1.5em; vertical-align: middle; } /* - 进度条 */ kplayer .kp-bar{ left: 4em; right: 0; bottom: 0; height: .4em; cursor: pointer; position: absolute; background: #efefef; } kplayer .kp-bar .loaded, kplayer .kp-bar .played{ top: 0; height: .4em; max-width: 100%; position: absolute; } kplayer .kp-bar .loaded{ background: #e5e5e5; } kplayer .kp-bar .played{ background-color: #ffc670; background-color: var(--kp-secondly); } /* 下拉载入 -------------------------------- */ kplayer .kp-drop{ top: 0; left: 0; right: 0; bottom: 0; opacity: 0; color: #fff; visibility: hidden; position: absolute; pointer-events: none; background: rgba(0, 0, 0, .3); transition: opacity .3s, visibility .3s; } kplayer .kp-drop.active{ opacity: 1; visibility: visible; } kplayer .kp-drop span{ top: 0; left: 0; right: 0; bottom: 0; height: 1em; margin: auto; display: block; font-size: 2em; line-height: 1em; text-align: center; position: absolute; } /* 播放列表 -------------------------------- */ kplayer .kp-list{ max-height: 0; overflow: auto; list-style: none; user-select: none; transition: max-height .3s; border-bottom: 1px solid #eee; } kplayer .kp-list.show{ max-height: 15em; max-height: 50vh; } kplayer .kp-list::-webkit-scrollbar{ width: 5px } kplayer .kp-list::-webkit-scrollbar-thumb{ background: #eee; } kplayer .kp-list::-webkit-scrollbar-thumb:hover{ background-color: #3498db; background-color: var(--kp-primary); } kplayer .list-item{ cursor: pointer; overflow: hidden; padding: .75em 1em; position: relative; white-space: nowrap; text-overflow: ellipsis; transition: background .3s, padding .3s; } kplayer .list-item.current{ padding-left: 1.5em; } kplayer .list-item.current:before{ content: ''; top: 1em; left: -.5em; width: 1em; height: 1em; display: block; position: absolute; background-color: #ffc670; background-color: var(--kp-secondly); transform: rotate(45deg); } kplayer .list-item:nth-child(1n){ background: rgba(0, 0, 0, .02); } kplayer .list-item:nth-child(2n){ background: #fff; } kplayer .list-item:hover{ background: rgba(0, 0, 0, .05); } kplayer .item-number, kplayer .item-artist{ opacity: .6; } kplayer .item-number{ margin-right: .75em; } kplayer .item-title:after{ content: '-'; margin: 0 .25em; } /* 歌词 -------------------------------- */ kplayer .kp-lyrics{ color: #666; text-align: center; } kplayer .kp-lyrics span{ padding: 1em; display: block; overflow: hidden; line-height: 1em; white-space: nowrap; text-overflow: ellipsis; } kplayer .kp-lyrics span:empty:after{ content: "Music..."; }