|
|

楼主 |
发表于 2023-3-12 08:58
|
显示全部楼层
帖子代码
- <style>
- #papa { margin: -80px 0 0 calc(50% - 593px); width: 1024px; height: 640px; background: lightblue url('https://638183.freep.cn/638183/t23/1/xkxi.webp') center/cover no-repeat; box-shadow: 6px 3px 30px #000; position: relative; display: grid; place-items: center; z-index: 1; }
- #mplayer { width: 100px; height: 100px; border-radius: 50%; background: lightblue; box-shadow: 5px 5px 30px black inset; cursor: pointer; animation: rot2d 8s infinite linear var(--state); position: absolute; transition: box-shadow .6s; --state: running; }
- #mplayer::before, #mplayer::after { position: absolute; content: ''; top: -50px; right: -50px; bottom: -50px; left: -50px; border: 6px dotted snow; border-radius: inherit; transform: perspective(1000px) rotateY(45deg) rotateX(15deg); animation: rot3d 10s infinite linear; --angle: 360deg; }
- #mplayer:hover { box-shadow: 5px 5px 60px blue inset; }
- #mplayer::after { top: -60px; right: -60px; bottom: -60px; left: -60px; --angle: -1080deg; }
- #papa:fullscreen #mplayer { width: 150px; height: 150px; }
- #papa:fullscreen #mplayer::before { top: -70px; right: -70px; bottom: -70px; left: -70px; }
- #papa:fullscreen #mplayer::after { top: -80px; right: -80px; bottom: -80px; left: -80px; }
- @keyframes rot2d { to { transform: rotate(360deg); } }
- @keyframes rot3d { to { transform: perspective(1000px) rotateY(45deg) rotateX(15deg) rotateZ(var(--angle)); } }
- </style>
- <div id="papa">
- <div id="mplayer"></div>
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=1939229183" autoplay loop></audio>
- </div>
- <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 ? 'pasued' : '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: none; border: 2px solid snow; bottom: 20px;'});
- })();
- </script>
复制代码 若需要分行源码,以及希望全屏插件独立剥离,请参阅 → 《星系》源码 (52qingyin.cn)
|
|