美好的愿望

附件可见么……

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>小鸟羽鈴粉丝愿望查看器</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background: linear-gradient(135deg, #f9f7fe 0%, #e6f0fa 100%); min-height: 100vh; padding: 20px; color: #333; display: flex; justify-content: center; align-items: center; } .container { max-width: 800px; width: 100%; background: rgba(255, 255, 255, 0.95); border-radius: 20px; box-shadow: 0 15px 50px rgba(100, 70, 200, 0.15); overflow: hidden; padding: 30px; } header { text-align: center; margin-bottom: 30px; padding: 20px 0; } h1 { color: #7e57c2; font-size: 2.5rem; margin-bottom: 15px; position: relative; display: inline-block; } h1::after { content: ""; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 100px; height: 4px; background: linear-gradient(90deg, #ff9dbf, #87cefa); border-radius: 2px; } .logo { width: 60px; height: 60px; background: linear-gradient(135deg, #ffb6c1, #87cefa); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); } .logo::before { content: "🐦"; font-size: 28px; color: white; } .subtitle { color: #6c757d; font-size: 1.1rem; max-width: 500px; margin: 0 auto 20px; line-height: 1.6; } .controls { display: flex; justify-content: center; gap: 15px; margin: 20px 0; flex-wrap: wrap; } .nav-btn { background: linear-gradient(45deg, #ff6b9d, #a855f7); color: white; border: none; padding: 12px 25px; font-size: 1rem; border-radius: 30px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 6px rgba(0,0,0,0.1); font-weight: 500; display: flex; align-items: center; gap: 8px; min-width: 120px; justify-content: center; } .nav-btn:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.15); } .nav-btn:disabled { background: linear-gradient(45deg, #bdc3c7, #95a5a6); cursor: not-allowed; transform: none; box-shadow: none; } .counter { font-size: 1.3rem; color: #555; font-weight: 500; background: white; padding: 8px 20px; border-radius: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); display: flex; align-items: center; justify-content: center; } .card-container { perspective: 1200px; margin: 30px 0; min-height: 400px; } .card { position: relative; width: 100%; height: 400px; transform-style: preserve-3d; transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275); border-radius: 20px; background: white; box-shadow: 0 15px 35px rgba(50,50,93,0.1), 0 5px 15px rgba(0,0,0,0.07); overflow: hidden; cursor: pointer; } .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; padding: 30px; overflow: hidden; } .card-front { background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%); color: white; justify-content: center; align-items: center; text-align: center; } .card-back { background: white; transform: rotateY(180deg); overflow-y: auto; } .bird-icon { font-size: 5rem; margin-bottom: 25px; color: rgba(255, 255, 255, 0.9); text-shadow: 0 2px 4px rgba(0,0,0,0.2); animation: float 3s ease-in-out infinite; } @keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-15px); } 100% { transform: translateY(0px); } } .flip-text { font-size: 1.2rem; font-weight: 300; margin-top: 20px; background: rgba(255, 255, 255, 0.15); padding: 8px 20px; border-radius: 20px; backdrop-filter: blur(10px); } .nickname { font-size: 2rem; color: #7e57c2; text-align: center; margin-bottom: 30px; font-weight: 600; display: flex; justify-content: center; align-items: center; gap: 15px; } .nickname::before { content: "👤"; font-size: 1.8rem; } .wish-container { background: #f9f5ff; padding: 30px; border-radius: 20px; box-shadow: inset 0 0 15px rgba(0,0,0,0.05); min-height: 200px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; } .wish-container::before { content: """; position: absolute; top: -40px; left: -20px; font-size: 8rem; color: rgba(126, 87, 194, 0.1); font-family: serif; font-weight: bold; z-index: 0; } .wish-text { font-size: 1.4rem; line-height: 1.7; color: #444; font-style: italic; text-align: center; position: relative; z-index: 2; padding: 20px; } .footer { text-align: center; margin-top: 30px; color: #777; font-size: 0.95rem; padding: 20px; } @media (max-width: 768px) { .card { height: 450px; } .card-container { min-height: 450px; } h1 { font-size: 2rem; } .card-face { padding: 20px; } .wish-text { font-size: 1.2rem; } } @media (max-width: 576px) { .card { height: 500px; } .card-container { min-height: 500px; } h1 { font-size: 1.8rem; } .subtitle { font-size: 1rem; } .counter { font-size: 1.1rem; } .nickname { font-size: 1.6rem; } } </style> </head> <body> <div class="container"> <header> <div class="logo"></div> <h1>小鸟羽鈴粉丝愿望</h1> <p class="subtitle">浏览粉丝们如果小鸟羽鈴来到现实世界会和她一起做什么的美好愿望</p> <div class="controls"> <button id="prevBtn" class="nav-btn"> <span>←</span> 上一个 </button> <div class="counter"> <span id="current">1</span> / <span id="total">2</span> </div> <button id="nextBtn" class="nav-btn"> 下一个 <span>→</span> </button> </div> </header> <div class="card-container"> <div class="card" id="card"> <div class="card-face card-front"> <div class="bird-icon">🐦</div> <h2>小鸟羽鈴粉丝档案</h2> <p class="flip-text">点击卡片查看愿望</p> </div> <div class="card-face card-back"> <div class="nickname"> <span id="nickname">杨凤小号</span> </div> <div class="wish-container"> <div class="wish-text" id="wish"> 一起打游戏,喊她妈妈。女朋友这个应该也可以吧! </div> </div> </div> </div> </div> <div class="footer"> <p>为小鸟羽鈴粉丝特别制作 | 数据整理自B站问卷调查</p> </div> </div> <script> // 用户数据(仅保留昵称和愿望) const userData = [ { bilibiliNickname: "杨凤小号", wish: "一起打游戏,喊她妈妈。女朋友这个应该也可以吧!" }, { bilibiliNickname: "唐ksk", wish: "那当然是狠狠地疼爱妹妹然后让她无可救药的爱上我口牙" } ]; // 当前显示的索引 let currentIndex = 0; const totalUsers = userData.length; // DOM元素 const card = document.getElementById('card'); const nicknameEl = document.getElementById('nickname'); const wishEl = document.getElementById('wish'); const prevBtn = document.getElementById('prevBtn'); const nextBtn = document.getElementById('nextBtn'); const currentSpan = document.getElementById('current'); const totalSpan = document.getElementById('total'); // 初始化 totalSpan.textContent = totalUsers; updateCounter(); renderUserData(); // 卡片点击事件 - 翻转卡片 card.addEventListener('click', () => { if (card.style.transform === 'rotateY(180deg)') { card.style.transform = 'rotateY(0deg)'; } else { card.style.transform = 'rotateY(180deg)'; } }); // 导航按钮事件 prevBtn.addEventListener('click', () => { if (currentIndex > 0) { currentIndex--; updateCounter(); renderUserData(); card.style.transform = 'rotateY(0deg)'; } }); nextBtn.addEventListener('click', () => { if (currentIndex < totalUsers - 1) { currentIndex++; updateCounter(); renderUserData(); card.style.transform = 'rotateY(0deg)'; } }); // 更新计数器 function updateCounter() { currentSpan.textContent = currentIndex + 1; prevBtn.disabled = currentIndex === 0; nextBtn.disabled = currentIndex === totalUsers - 1; } // 渲染用户数据 function renderUserData() { const user = userData[currentIndex]; nicknameEl.textContent = user.bilibiliNickname; wishEl.textContent = user.wish; } </script> </body> </html>
09-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值