|
|

楼主 |
发表于 2023-3-7 12:38
|
显示全部楼层
帖子代码
- <style>
- #papa {
- margin: -80px 0 0 calc(50% - 621px);
- width: 1080px;
- height: 720px;
- background: #AEB1A8 url('https://638183.freep.cn/638183/t23/1/jkve.jpeg') center/cover no-repeat;
- box-shadow: 3px 3px 20px #000;
- position: relative;
- display: grid;
- place-items: center;
- z-index: 1;
- }
- #mplayer {
- --state: paused;
- position: absolute;
- bottom: 10px;
- width: 169px;
- height: 155px;
- cursor: pointer;
- border-radius: 50%;
- filter: drop-shadow(8px 4px 20px lightgreen);
- animation: flash .3s infinite alternate var(--state);
- }
- #mplayer:hover {
- transform: skew(5deg);
- }
- #mypic {
- width: 100%;
- height: 100%;
- display: none;
- position: absolute;
- }
- .bird { position: absolute; transform: translate(-100px, -200px); }
- .bird:nth-of-type(2) { transform: translate(100px, -240px); }
- #canv {
- display: block;
- position: absolute;
- }
- @keyframes flash {
- to { filter: drop-shadow(16px 8px 40px green); }
- }
- </style>
- <div id="papa">
- <img class="bird" src="https://638183.freep.cn/638183/t22/animal/bird3.gif" alt="" />
- <img class="bird" src="https://638183.freep.cn/638183/t22/animal/bird3.gif" alt="" />
- <div id="mplayer">
- <canvas id="canv" width="169" height="155"></canvas>
- <img id="mypic" src="https://638183.freep.cn/638183/t23/webp/insect.webp" alt="" />
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=2026218482.mp3" autoplay loop></audio>
- </div>
- </div>
- <script>
- (function() {
- let context = canv.getContext('2d');
- let oImg = new Image();
- oImg.src = mypic.src;
- oImg.onload = () => context.drawImage(oImg,0,0,canv.width,canv.height);
- let mState = () => aud.paused ? (canv.style.display = 'block', mypic.style.display = 'none', mplayer.style.setProperty('--state','paused')) : (canv.style.display = 'none', mypic.style.display = 'block', mplayer.style.setProperty('--state','running'));
- aud.addEventListener('play', () => mState());
- aud.addEventListener('pause', () => mState());
- mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
- })();
- </script>
复制代码
|
|