|
|

楼主 |
发表于 2025-7-18 14:31
|
显示全部楼层
代码:
- <style>
- #papa { margin: 30px 0; left: calc(50% - 81px); transform: translateX(-50%); width: clamp(600px, 90vw, 1400px); height: auto; aspect-ratio: 16/9; background: url('https://638183.freep.cn/638183/t24/6/outspace.jpg') no-repeat center/cover; box-shadow: 2px 2px 8px #000; z-index: 1; overflow: hidden; display: grid; place-items: center; position: relative; }
- #player { position: absolute; bottom: 120px; aspect-ratio: 1/1; width: 15%; display: grid; place-items: center; animation: rot 12s linear infinite var(--state); transition: 0.6s; cursor: pointer; }
- li-zi { position: absolute; aspect-ratio: 1/1; width: 15%; border-radius: 50%; background: radial-gradient(circle at 10%, var(--c1), var(--c2)); box-shadow: inset 4px 4px 16px gray; transform: rotate(var(--a)) translate(var(--r)); transition: 0.7s; }
- #btnFs { bottom: 20px; color: #eee; }
- .vid {position: absolute; width: 100%; height: 100%; object-fit: cover; mask: radial-gradient(transparent 20%, red); -webkit-mask: radial-gradient(transparent 20%, red); opacity: .8; pointer-events: none; }
- @keyframes rot { to { transform: rotate(1turn); } }
- </style>
- <div id="papa">
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=2164895832" autoplay loop></audio>
- <video class="vid" src="https://bpic.588ku.com/video_listen/588ku_video/22/11/04/04/03/07/video63641e7be0306.mp4" autoplay loop muted></video>
- <div id="player"></div>
- </div>
- <script type="module">
- import { FS } from 'https://638183.freep.cn/638183/web/js/fullscreen.js';
- FS(papa, player);
- var posdata = [1, 5, 10, 15], lzAr = [];
- posdata.forEach( (pos, posIdx) => {
- Array.from({ length: pos }).forEach( (lz, lzIdx) => {
- lz = document.createElement('li-zi');
- const a = lzIdx * 360 / pos, r = posIdx * player.clientWidth / (posdata.length + 1);
- lz.style.cssText += `
- --c1: #${Math.random().toString(16).substring(2, 8)};
- --c2: #${Math.random().toString(16).substring(2, 8)};
- --r: ${r}px;
- --a: ${a}deg;
- `;
- lzAr.push({elm: lz, r: r, idx: posIdx});
- player.appendChild(lz);
- });
- });
- aud.ontimeupdate = () => flash();
- window.onresize = () => {
- lzAr.forEach(lz => lz.elm.style.setProperty('--r', `${lz.idx * player.clientWidth / (posdata.length + 1)}px`));
- };
- function flash() {
- player.style.setProperty('filter', `hue-rotate(${360 * Math.random()}deg)`);
- }
- </script>
复制代码
|
评分
-
| 参与人数 1 | 威望 +50 |
金钱 +100 |
经验 +50 |
收起
理由
|
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|