马黑黑 发表于 2023-2-11 10:13

宁静(to羽羽)

<style>
#papa {
        margin: -100px 0 0 calc(50% - 593px);
        width: 1024px;
        height: 640px;
        background: tan url('https://638183.freep.cn/638183/t23/webp/silence.webp') no-repeat center/cover;
        box-shadow: 3px 3px 20px #000;
        position: relative;
        display: grid;
        place-items: center;
        z-index: 1;
}
#mplayer {
        --state: paused;
        position: absolute;
        bottom: 30px;
        width: 80px;
        height: 80px;
        background: darkgreen;
        box-shadow: inset 0 0 40px hsla(0,0%,100%,.75), 0 -10px 30px hsla(90,100%,70%,.75);
        border-radius: 50%;
        display: grid;
        place-items: center;
}
#mplayer:hover {
        cursor: pointer;
        box-shadow: inset 0 0 25px hsla(0,0%,100%,.75), 0 -10px 40px hsla(90,100%,50%,.75);
}
.wave {
        --delay: 0s;
        position: absolute;
        width: 80%;
        height: 80%;
        border: 3px solid snow;
        border-radius: 50%;
        clip-path: inset(20% 0 20% 0);
        animation: fade .6s var(--delay) infinite var(--state);
}
.wave:nth-of-type(2) { --delay: .3s; width: 60%; height: 60%; }
.wave:nth-of-type(3) { --delay: .5s; width: 40%; height: 40%; }
.wave:nth-of-type(4) { --delay: .6s; width: 20%; height: 20%; }
.wave:nth-of-type(5) { --delay: .6s; width: 0%; height: 0%; }

@keyframes fade {
        from { opacity: .9; }
        to { opacity: 0.2; }
}
</style>

<div id="papa">
        <div id="mplayer">
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
        </div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1993911654.mp3" loop autoplay></audio>

<script>
(function() {
        (function(mkFS) {let setFullScreen = (user_set) => {let pa = user_set.pa;if(typeof(pa) !== 'object') return false;if(!user_set.set) user_set.set = 'color: snow; background: black; border: 2px solid snow; left: 40px; bottom: 40px;';btnMsg = document.createElement('span');btnMsg.style.cssText = `position: absolute; border-radius: 8px; padding: 4px; cursor: pointer; z-index:998; ${user_set.set}`;btnMsg.innerText = '全屏观赏';btnMsg.style.display = 'none';pa.appendChild(btnMsg);let timerId, fs = false;btnMsg.onclick = () => fs ? document.exitFullscreen() : pa.requestFullscreen();pa.addEventListener('mousemove', (e) => {clearTimeout(timerId);btnMsg.style.display = 'block';timerId = setTimeout('btnMsg.style.display = "none"', 3000);});document.addEventListener('fullscreenchange', () => {if (document.fullscreenElement !== null) {fs = true;btnMsg.innerText = '退出全屏';} else {fs = false;btnMsg.innerText = '全屏观赏';}});};mkFS.FS = setFullScreen;})(this);
        let mState = () => mplayer.style.setProperty('--state', aud.paused ? 'paused' : 'running');
        aud.addEventListener('play', () => mState());
        aud.addEventListener('pause', () => mState());
        mplayer.addEventListener('click', () => {
                aud.paused ? aud.play() : aud.pause();
        });
        FS({pa: papa, set: 'color: snow; background: green; border: 2px solid snow;',});
})();
</script>

马黑黑 发表于 2023-2-11 10:14

帖子代码
<style>
#papa {
        margin: -100px 0 0 calc(50% - 593px);
        width: 1024px;
        height: 640px;
        background: tan url('https://638183.freep.cn/638183/t23/webp/silence.webp') no-repeat center/cover;
        box-shadow: 3px 3px 20px #000;
        position: relative;
        display: grid;
        place-items: center;
        z-index: 1;
}
#mplayer {
        --state: paused;
        position: absolute;
        bottom: 30px;
        width: 80px;
        height: 80px;
        background: darkgreen;
        box-shadow: inset 0 0 40px hsla(0,0%,100%,.75), 0 -10px 30px hsla(90,100%,70%,.75);
        border-radius: 50%;
        display: grid;
        place-items: center;
}
#mplayer:hover {
        cursor: pointer;
        box-shadow: inset 0 0 25px hsla(0,0%,100%,.75), 0 -10px 40px hsla(90,100%,50%,.75);
}
.wave {
        --delay: 0s;
        position: absolute;
        width: 80%;
        height: 80%;
        border: 3px solid snow;
        border-radius: 50%;
        clip-path: inset(20% 0 20% 0);
        animation: fade .6s var(--delay) infinite var(--state);
}
.wave:nth-of-type(2) { --delay: .3s; width: 60%; height: 60%; }
.wave:nth-of-type(3) { --delay: .5s; width: 40%; height: 40%; }
.wave:nth-of-type(4) { --delay: .6s; width: 20%; height: 20%; }
.wave:nth-of-type(5) { --delay: .6s; width: 0%; height: 0%; }

@keyframes fade {
        from { opacity: .9; }
        to { opacity: 0.2; }
}
</style>

<div id="papa">
        <div id="mplayer">
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
                <span class="wave"></span>
        </div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1993911654.mp3" loop autoplay></audio>

<script>
(function() {
        (function(mkFS) {let setFullScreen = (user_set) => {let pa = user_set.pa;if(typeof(pa) !== 'object') return false;if(!user_set.set) user_set.set = 'color: snow; background: black; border: 2px solid snow; left: 40px; bottom: 40px;';btnMsg = document.createElement('span');btnMsg.style.cssText = `position: absolute; border-radius: 8px; padding: 4px; cursor: pointer; z-index:998; ${user_set.set}`;btnMsg.innerText = '全屏观赏';btnMsg.style.display = 'none';pa.appendChild(btnMsg);let timerId, fs = false;btnMsg.onclick = () => fs ? document.exitFullscreen() : pa.requestFullscreen();pa.addEventListener('mousemove', (e) => {clearTimeout(timerId);btnMsg.style.display = 'block';timerId = setTimeout('btnMsg.style.display = "none"', 3000);});document.addEventListener('fullscreenchange', () => {if (document.fullscreenElement !== null) {fs = true;btnMsg.innerText = '退出全屏';} else {fs = false;btnMsg.innerText = '全屏观赏';}});};mkFS.FS = setFullScreen;})(this);
        let mState = () => mplayer.style.setProperty('--state', aud.paused ? 'paused' : 'running');
        aud.addEventListener('play', () => mState());
        aud.addEventListener('pause', () => mState());
        mplayer.addEventListener('click', () => {
                aud.paused ? aud.play() : aud.pause();
        });
        FS({pa: papa, set: 'color: snow; background: green; border: 2px solid snow;',});
})();
</script>小播的设计请参考小广播 :小广播 - 马黑黑教程专版 - 花潮论坛 - Powered by Discuz! (huachaowang.com)

小辣椒 发表于 2023-2-11 10:50

千羽的沙发先留着

小辣椒 发表于 2023-2-11 10:50

这个宁静的场景特别喜欢

小辣椒 发表于 2023-2-11 10:51

新的播放器样式也是别具一格,漂亮

海笑 发表于 2023-2-11 10:51

欣赏老师佳作!

小辣椒 发表于 2023-2-11 10:52

黑黑大神高效,一咋眼就一个新产品出来了

小辣椒 发表于 2023-2-11 10:53

看起来我以前的播放器来不及做了,今天要完新的了{:4_170:}

小辣椒 发表于 2023-2-11 10:53

问题今天还事情特别多,万一下午回不来,明天完成作业

小辣椒 发表于 2023-2-11 10:54

黑黑土豪太豪气了,回帖有钱钱{:4_170:}

小辣椒 发表于 2023-2-11 11:10

@千羽 收礼开心

先下了

马黑黑 发表于 2023-2-11 11:12

小辣椒 发表于 2023-2-11 11:10
@千羽 收礼开心

先下了

88

马黑黑 发表于 2023-2-11 11:12

小辣椒 发表于 2023-2-11 10:54
黑黑土豪太豪气了,回帖有钱钱

多乎哉不多也

马黑黑 发表于 2023-2-11 11:12

小辣椒 发表于 2023-2-11 10:53
问题今天还事情特别多,万一下午回不来,明天完成作业

明天再说

马黑黑 发表于 2023-2-11 11:13

小辣椒 发表于 2023-2-11 10:50
千羽的沙发先留着

抢了{:4_170:}

马黑黑 发表于 2023-2-11 11:13

小辣椒 发表于 2023-2-11 10:50
这个宁静的场景特别喜欢

除了水不清其他都不错

马黑黑 发表于 2023-2-11 11:14

小辣椒 发表于 2023-2-11 10:51
新的播放器样式也是别具一格,漂亮

最初设计的时候是一边的波闪,后来想想两边波闪更好吧

马黑黑 发表于 2023-2-11 11:15

小辣椒 发表于 2023-2-11 10:53
看起来我以前的播放器来不及做了,今天要完新的了

这个简单呢,除了CSS代码量偏大一点点

红影 发表于 2023-2-11 11:21

又弄个了个两边的波纹,漂亮。羽儿收礼开心{:4_187:}

醉美水芙蓉 发表于 2023-2-11 11:51

页: [1] 2 3 4 5
查看完整版本: 宁静(to羽羽)