帖子代码
<style>
#mydiv {
margin: 130px 0 30px calc(50% - 593px);
width: 1024px;
height: 576px;
background: url('https://638183.freep.cn/638183/t24/3/zrvu.jpg') no-repeat center/cover;
box-shadow: 0 0 10px rgba(0,0,0,.5);
overflow: hidden;
position: relative;
}
#mydiv:hover #player { opacity: .8; }
#mydiv::before {
position: absolute;
content: '';
inset: -260px;
background: radial-gradient(circle, transparent, rgba(60,0,120,.35), transparent) center / 30% 30%;
transform: rotate(0deg);
animation: bgsize 8s infinite alternate var(--state);
}
#player {
position: absolute;
left: calc(50% - 75px);
top: 150px;
mix-blend-mode: multiply;
transition: 1s;
opacity: 0;
cursor: pointer;
}
@keyframes bgsize {
to { transform: rotate(360deg); background-size: 50% 50%; }
}
</style>
<div id="mydiv">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1899223061" autoplay loop></audio>
<img id="player" src="https://638183.freep.cn/638183/small/sunbirds.jpg" alt="" title="播放/暂停" />
</div>
<script>
//自然之声
aud.oncanplay = aud.onplaying = aud.onpause = () => mydiv.style.setProperty('--state', ['running', 'paused'][+aud.paused]);
player.onclick = () => aud.paused ? aud.play() : aud.pause();
</script>
|