马黑黑 发表于 2023-3-8 07:32

召唤

<style>
#papa {
        --state: paused;
        margin: -80px 0 0 calc(50% - 681px);
        width: 1200px;
        height: 675px;
        background: #7E949B url('https://638183.freep.cn/638183/t23/1/space.jpg') no-repeat;
        box-shadow: 3px 3px 20px #000;
        place-items: center;
        z-index: 1;
        position: relative;
}
#mplayer {
        position: absolute;
        top: 330px;
        right: 126px;
        width: 60px;
        height: 60px;
        border: 2px solid lightblue;
        border-radius: 50%;
        outline: 2px solid lightblue;
        outline-offset: 2px;
        animation: sd .15s infinite alternate var(--state);
        cursor: pointer;
        transition: 1s;
}
#mplayer:hover { transform: scale(1.1); }
@keyframes sd {
        from { box-shadow: 0 0 30px hsla(0,100%,50%,.45), 0 0 40px hsla(240,100%,50%,.25) inset; }
        to { box-shadow: 0 0 60px hsla(120,80%,40%,.35), 0 0 80px hsla(120,100%,50%,.25) inset;}
}
</style>

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

<script>
        let mState = () => papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
        mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
        aud.addEventListener('play', () => mState());
        aud.addEventListener('pause', () => mState());
</script>

马黑黑 发表于 2023-3-8 07:33

帖子代码
<style>
#papa {
        --state: paused;
        margin: -80px 0 0 calc(50% - 681px);
        width: 1200px;
        height: 675px;
        background: #7E949B url('https://638183.freep.cn/638183/t23/1/space.jpg') no-repeat;
        box-shadow: 3px 3px 20px #000;
        place-items: center;
        z-index: 1;
        position: relative;
}
#mplayer {
        position: absolute;
        top: 330px;
        right: 126px;
        width: 60px;
        height: 60px;
        border: 2px solid lightblue;
        border-radius: 50%;
        outline: 2px solid lightblue;
        outline-offset: 2px;
        animation: sd .15s infinite alternate var(--state);
        cursor: pointer;
        transition: 1s;
}
#mplayer:hover { transform: scale(1.1); }
@keyframes sd {
        from { box-shadow: 0 0 30px hsla(0,100%,50%,.45), 0 0 40px hsla(240,100%,50%,.25) inset; }
        to { box-shadow: 0 0 60px hsla(120,80%,40%,.35), 0 0 80px hsla(120,100%,50%,.25) inset;}
}
</style>

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

<script>
        let mState = () => papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
        mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
        aud.addEventListener('play', () => mState());
        aud.addEventListener('pause', () => mState());
</script>

马黑黑 发表于 2023-3-8 07:56

#mplayer id选择器使用了外边框属性 outline,该属性与边框属性 border 的设置很相似,可以比较一下二者赋值,同时,outline 拥有偏移设置属性,outline-offset,可通过该属性将外边框与内边框拉开距离。

外边框不挤占dom空间,虽然它看上去像是占有空间的。outline不论设计多大,都不能改变它与周边元素的实际距离。

庶民 发表于 2023-3-8 08:54

太神秘了,感到有一种力量在招呼。

焱鑫磊 发表于 2023-3-8 09:51

赞老师佳作!{:4_204:}

马黑黑 发表于 2023-3-8 12:07

庶民 发表于 2023-3-8 08:54
太神秘了,感到有一种力量在招呼。

{:4_181:}

马黑黑 发表于 2023-3-8 12:08

焱鑫磊 发表于 2023-3-8 09:51
赞老师佳作!

感谢支持。节日好!

花飞飞 发表于 2023-3-8 12:28

召唤出了神龙

花飞飞 发表于 2023-3-8 12:29

超级漂亮,32赞

花飞飞 发表于 2023-3-8 12:31

有钱贴

花飞飞 发表于 2023-3-8 12:31

再回一个

马黑黑 发表于 2023-3-8 12:32

花飞飞 发表于 2023-3-8 12:28
召唤出了神龙

不是神马吗{:4_170:}

小辣椒 发表于 2023-3-8 12:35

晚上来细看,这个播放器小圆会伸缩?

小辣椒 发表于 2023-3-8 12:37

这个图图潜水员好帅气{:4_189:}

小辣椒 发表于 2023-3-8 12:38

outline 拥有偏移设置属性   

起个网名好难 发表于 2023-3-8 14:05

好帖

outline css2
outline-offset css3


红影 发表于 2023-3-8 15:33

漂亮,音乐很有种宇宙神秘电波的感觉{:4_173:}

红影 发表于 2023-3-8 15:34

这次播放器的闪光看到了{:4_187:}

马黑黑 发表于 2023-3-8 17:42

红影 发表于 2023-3-8 15:34
这次播放器的闪光看到了

这个不是滤镜。滤镜你看不到,说明浏览器的内核偏低,而且可能很低

马黑黑 发表于 2023-3-8 17:42

红影 发表于 2023-3-8 15:33
漂亮,音乐很有种宇宙神秘电波的感觉

好像有的
页: [1] 2 3 4 5
查看完整版本: 召唤