!DOCTYPE html html lang=zh-CN head meta charset=UTF-8 meta name=viewport content=width=device-width, initial-scale=1.0 title百度泛目录程序-木头seo泛程序title link rel=stylesheet href=httpscdnjs.cloudflare.comajaxlibsfont-awesome6.4.0cssall.min.css style ===== 基础样式重置 ===== { margin 0; padding 0; box-sizing border-box; font-family 'Noto Sans SC', 'Microsoft YaHei', 'PingFang SC', 'Helvetica Neue', sans-serif; -webkit-user-select text; 允许文本选择 -moz-user-select text; -ms-user-select text; user-select text; } 特别指定可以选择的元素 .username, .contact-box, .title-line, .collection-tip, .feature, .footer-feature, .warning-text { -webkit-user-select text; -moz-user-select text; -ms-user-select text; user-select text; cursor text; } ===== 主体布局 ===== body { background linear-gradient(135deg, #87CEEB 0%, #B0E0E6 100%); min-height 100vh; display flex; flex-direction column; align-items center; justify-content center; overflow-x hidden; position relative; padding 1rem; -webkit-tap-highlight-color transparent; } ===== 粒子背景 ===== #particles-js { position fixed; width 100%; height 100%; top 0; left 0; z-index 0; pointer-events none; } ===== 主容器 ===== .container { background rgba(255, 255, 255, 0.95); backdrop-filter blur(10px); border-radius 20px; padding 3rem; box-shadow 0 10px 40px rgba(0, 0, 0, 0.15); max-width 650px; width 100%; text-align center; animation fadeInUp 0.8s ease-out; position relative; z-index 1; transition transform 0.3s ease, box-shadow 0.3s ease; } .containerhover { transform translateY(-5px); box-shadow 0 15px 50px rgba(0, 0, 0, 0.2); } ===== 标题区域 ===== .title-section { margin-bottom 1.5rem; } .collection-tip { color #e91e63; font-size 0.95rem; margin-bottom 1rem; padding 10px 18px; background linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 240, 245, 0.9) 100%); border-radius 10px; box-shadow 0 3px 10px rgba(233, 30, 99, 0.2); animation fadeIn 1s ease 0.3s forwards; opacity 0; line-height 1.5; font-weight 500; border 2px solid rgba(233, 30, 99, 0.2); } .title-line { color #1976d2; font-size 2rem; font-weight 700; margin-bottom 0.8rem; letter-spacing 0.02em; text-shadow 2px 2px 4px rgba(0, 0, 0, 0.1); position relative; display block; line-height 1.4; } ===== 联系框样式 ===== .contact-box { background linear-gradient(135deg, #2196F3 0%, #1976D2 100%); color white; padding 1.2rem 1.8rem; border-radius 15px; margin 2rem 0; transition all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); cursor pointer; position relative; overflow hidden; box-shadow 0 6px 20px rgba(33, 150, 243, 0.35); } .contact-boxbefore { content ''; position absolute; top -50%; left -50%; width 200%; height 200%; background linear-gradient( to bottom right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0) 100% ); transform rotate(45deg); animation shine 3s ease-in-out infinite; } .contact-boxhover { transform translateY(-5px) scale(1.02); box-shadow 0 12px 30px rgba(33, 150, 243, 0.5); } .contact-boxactive { transform translateY(-2px) scale(0.98); } .contact-title { display flex; align-items center; justify-content center; gap 12px; font-size 1.3rem; margin-bottom 8px; font-weight 600; } ===== 用户名样式 ===== .username { font-size 1.9rem; font-weight 600; letter-spacing 0.08em; position relative; z-index 1; color white; text-shadow 2px 2px 4px rgba(0, 0, 0, 0.2); padding 8px 18px; border-radius 10px; display inline-block; min-height 60px; line-height 60px; transition background 0.3s ease; } .usernamehover { background rgba(255, 255, 255, 0.1); } 添加选择高亮效果 .usernameselection, .contact-boxselection { background rgba(255, 255, 255, 0.3); color white; } ===== 按钮样式 ===== .button { background linear-gradient(135deg, #2196F3 0%, #1976D2 100%); color white; padding 1.1rem 2.2rem; border-radius 50px; text-decoration none; display inline-flex; align-items center; justify-content center; gap 10px; margin 0 auto 2rem; transition all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); border none; font-size 1rem; font-weight 600; letter-spacing 0.05em; box-shadow 0 6px 20px rgba(33, 150, 243, 0.35); position relative; overflow hidden; cursor pointer; min-width 220px; } .buttonhover { transform translateY(-5px) scale(1.05); box-shadow 0 12px 30px rgba(33, 150, 243, 0.5); } .button.copied { background linear-gradient(135deg, #4CAF50 0%, #388E3C 100%); box-shadow 0 6px 20px rgba(76, 175, 80, 0.35); } .button.error { background linear-gradient(135deg, #f44336 0%, #d32f2f 100%); box-shadow 0 6px 20px rgba(244, 67, 54, 0.35); } ===== 手动复制提示 ===== .manual-copy-hint { color #666; font-size 0.9rem; margin-top 10px; opacity 0.8; display none; } .manual-copy-hint.show { display block; animation fadeIn 0.5s ease; } ===== 特性标签 ===== .features { display flex; flex-wrap wrap; justify-content center; gap 12px; margin 2rem 0; } .feature { background linear-gradient(135deg, #FF9800 0%, #F57C00 100%); color white; padding 12px 22px; border-radius 50px; font-size 0.92rem; font-weight 500; box-shadow 0 4px 12px rgba(255, 152, 0, 0.3); transition all 0.3s ease; display flex; align-items center; gap 8px; } .featurehover { transform translateY(-3px); box-shadow 0 6px 18px rgba(255, 152, 0, 0.45); } ===== 页脚特性 ===== .footer-features { display flex; flex-wrap wrap; justify-content center; gap 12px; margin-top 3rem; } .footer-feature { background linear-gradient(135deg, #6c757d 0%, #495057 100%); color white; padding 10px 18px; border-radius 50px; font-size 0.88rem; font-weight 500; box-shadow 0 4px 12px rgba(108, 117, 125, 0.3); transition all 0.3s ease; display flex; align-items center; gap 8px; } .footer-featurehover { transform translateY(-2px); box-shadow 0 6px 18px rgba(108, 117, 125, 0.45); } ===== 警告区域 ===== .warning-section { margin-top 3rem; padding 1.8rem; background rgba(255, 255, 255, 0.95); border-radius 15px; border 3px solid #ff4444; box-shadow 0 6px 20px rgba(255, 68, 68, 0.35); animation pulse 2.5s ease-in-out infinite; } .warning-text { color #ff4444; font-size 2.1rem; font-weight 700; text-align center; line-height 1.5; text-shadow 2px 2px 4px rgba(0, 0, 0, 0.15); } ===== 复制提示 ===== .copy-notice { position fixed; top 20px; left 50%; transform translateX(-50%); background rgba(0, 0, 0, 0.85); color white; padding 14px 28px; border-radius 10px; animation slideDown 0.3s ease-out; z-index 1000; box-shadow 0 6px 20px rgba(0, 0, 0, 0.4); font-weight 500; display flex; align-items center; gap 10px; } ===== 涟漪效果 ===== .ripple { position absolute; border-radius 50%; background rgba(255, 255, 255, 0.6); transform scale(0); animation ripple-animation 0.6s ease-out; pointer-events none; } ===== 动画定义 ===== @keyframes fadeInUp { from { opacity 0; transform translateY(40px); } to { opacity 1; transform translateY(0); } } @keyframes slideDown { from { transform translateX(-50%) translateY(-60px); opacity 0; } to { transform translateX(-50%) translateY(0); opacity 1; } } @keyframes fadeIn { from { opacity 0; } to { opacity 1; } } @keyframes shine { 0% { transform rotate(45deg) translateX(-100%) translateY(-100%); } 100% { transform rotate(45deg) translateX(100%) translateY(100%); } } @keyframes pulse { 0%, 100% { box-shadow 0 6px 20px rgba(255, 68, 68, 0.35); } 50% { box-shadow 0 8px 30px rgba(255, 68, 68, 0.6); } } @keyframes ripple-animation { to { transform scale(4); opacity 0; } } ===== 响应式设计 ===== @media (max-width 768px) { .container { padding 2.5rem; max-width 95%; } .title-line { font-size 1.7rem; } .username { font-size 1.6rem; min-height 50px; line-height 50px; } .contact-title { font-size 1.15rem; } .warning-text { font-size 1.8rem; } } @media (max-width 480px) { .container { padding 2rem; } .collection-tip { font-size 0.85rem; padding 8px 14px; } .title-line { font-size 1.5rem; } .username { font-size 1.4rem; padding 6px 14px; min-height 45px; line-height 45px; } .contact-box { padding 1rem 1.4rem; } .contact-title { font-size 1rem; } .button { padding 0.95rem 1.8rem; font-size 0.95rem; min-width 200px; } .feature { font-size 0.85rem; padding 10px 18px; } .footer-feature { font-size 0.8rem; padding 8px 14px; } .warning-text { font-size 1.5rem; } .warning-section { padding 1.4rem; } .features, .footer-features { gap 10px; } } @media (max-width 360px) { .container { padding 1.5rem; } .title-line { font-size 1.3rem; } .username { font-size 1.2rem; min-height 40px; line-height 40px; } .warning-text { font-size 1.3rem; } } ===== 打印样式 ===== @media print { body { background white; } .container { box-shadow none; } .button, .warning-section { display none; } } ===== 辅助功能优化 ===== @media (prefers-reduced-motion reduce) { , before, after { animation-duration 0.01ms !important; animation-iteration-count 1 !important; transition-duration 0.01ms !important; } } ===== 深色模式支持 ===== @media (prefers-color-scheme dark) { body { background linear-gradient(135deg, #1a3a52 0%, #2c5a7a 100%); } .container { background rgba(30, 30, 30, 0.95); color #f0f0f0; } .title-line { color #4da6ff; } .collection-tip { background rgba(50, 50, 50, 0.9); color #ff85b3; } } style head body !-- 粒子背景容器 -- div id=particles-jsdiv !-- 主内容区域 -- div class=container !-- 标题区域 -- div class=title-section div class=collection-tip i class=fas fa-stari 百度泛目录程序@mutou888 i class=fas fa-stari div span class=title-line诚信经营span span class=title-line全国包邮span span class=title-line24小时在线接单span div !-- 联系框 -- div class=contact-box onclick=handleContactBoxClick(event) div class=contact-title span程序购买电报span div div class=username id=username@mutou888div div !-- 复制按钮 -- button class=button onclick=copyUsername(event) id=copyButton i class=fas fa-copyi 点击复制联系方式 button !-- 手动复制提示 -- div class=manual-copy-hint id=manualCopyHint i class=fas fa-mouse-pointeri 也可以手动选择上方文本进行复制 div !-- 主要特性 -- div class=features span class=featurei class=fas fa-shield-alti 诚信经营span span class=featurei class=fas fa-trucki 全国包邮span span class=featurei class=fas fa-headseti 24小时服务span div !-- 页脚特性 -- div class=footer-features span class=footer-featurei class=fas fa-check-circlei 质量保证span span class=footer-featurei class=fas fa-medali 信誉第一span span class=footer-featurei class=fas fa-handshakei 长期合作span div !-- 警告区域 -- div class=warning-section div class=warning-text ⚠️ 谨防假冒 ⚠️br 认准官方联系方式 div div div !-- Particles.js 库 -- script src=httpscdn.jsdelivr.netparticles.js2.0.0particles.min.jsscript script 初始化粒子背景 if (typeof particlesJS !== 'undefined') { particlesJS('particles-js', { particles { number { value 80, density { enable true, value_area 800 } }, color { value '#ffffff' }, shape { type 'circle' }, opacity { value 0.5, random true, anim { enable true, speed 1, opacity_min 0.1, sync false } }, size { value 3, random true, anim { enable true, speed 2, size_min 0.1, sync false } }, line_linked { enable true, distance 150, color '#ffffff', opacity 0.4, width 1 }, move { enable true, speed 2, direction 'none', random false, straight false, out_mode 'out', bounce false } }, interactivity { detect_on 'canvas', events { onhover { enable true, mode 'grab' }, onclick { enable true, mode 'push' }, resize true }, modes { grab { distance 140, line_linked { opacity 1 } }, push { particles_nb 4 } } }, retina_detect true }); } 复制用户名功能 function copyUsername(event) { const button = document.getElementById('copyButton'); const username = document.getElementById('username').textContent; const manualHint = document.getElementById('manualCopyHint'); 创建涟漪效果 createRipple(event, button); 尝试使用现代API复制 if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(username).then(() = { 显示复制成功提示 showCopyNotice('✅ 复制成功!', 'success'); 改变按钮样式 button.classList.add('copied'); button.innerHTML = 'i class=fas fa-checki 已复制到剪贴板'; 3秒后恢复按钮 setTimeout(() = { button.classList.remove('copied'); button.innerHTML = 'i class=fas fa-copyi 点击复制联系方式'; }, 3000); }).catch((err) = { console.error('复制失败', err); fallbackCopy(username, button); }); } else { 使用传统方法 fallbackCopy(username, button); } } 备用复制方法 function fallbackCopy(text, button) { const textArea = document.createElement('textarea'); textArea.value = text; textArea.style.position = 'fixed'; textArea.style.left = '-999999px'; textArea.style.top = '-999999px'; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { const successful = document.execCommand('copy'); if (successful) { showCopyNotice('✅ 复制成功!', 'success'); button.classList.add('copied'); button.innerHTML = 'i class=fas fa-checki 已复制'; setTimeout(() = { button.classList.remove('copied'); button.innerHTML = 'i class=fas fa-copyi 点击复制联系方式'; }, 3000); } else { throw new Error('execCommand failed'); } } catch (err) { console.error('备用复制方法失败', err); showCopyNotice('❌ 自动复制失败,请手动选择上方文本复制', 'error'); button.classList.add('error'); button.innerHTML = 'i class=fas fa-exclamation-trianglei 复制失败'; 显示手动复制提示 document.getElementById('manualCopyHint').classList.add('show'); setTimeout(() = { button.classList.remove('error'); button.innerHTML = 'i class=fas fa-copyi 点击复制联系方式'; }, 3000); } finally { document.body.removeChild(textArea); } } 联系框点击处理 function handleContactBoxClick(event) { const username = document.getElementById('username'); 创建涟漪效果 createRipple(event, event.currentTarget); 选择文本以便用户手动复制 const range = document.createRange(); range.selectNodeContents(username); const selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); 显示提示 3秒后清除选择 setTimeout(() = { selection.removeAllRanges(); }, 3000); } 显示复制提示 function showCopyNotice(message, type = 'info') { 移除已存在的提示 const existingNotice = document.querySelector('.copy-notice'); if (existingNotice) { existingNotice.remove(); } 创建新提示 const notice = document.createElement('div'); notice.className = 'copy-notice'; 根据类型添加图标 let icon = 'ℹ️'; if (type === 'success') icon = '✅'; if (type === 'error') icon = '❌'; notice.innerHTML = `${icon} ${message}`; document.body.appendChild(notice); 3秒后自动移除 setTimeout(() = { notice.style.animation = 'slideDown 0.3s ease-out reverse'; setTimeout(() = notice.remove(), 300); }, 3000); } 创建涟漪效果 function createRipple(event, element) { const ripple = document.createElement('span'); const rect = element.getBoundingClientRect(); const size = Math.max(rect.width, rect.height); const x = event.clientX - rect.left - size 2; const y = event.clientY - rect.top - size 2; ripple.style.width = ripple.style.height = size + 'px'; ripple.style.left = x + 'px'; ripple.style.top = y + 'px'; ripple.classList.add('ripple'); element.appendChild(ripple); 动画结束后移除 setTimeout(() = ripple.remove(), 600); } 页面加载完成后的初始化 document.addEventListener('DOMContentLoaded', () = { 为所有可点击元素添加涟漪效果 document.querySelectorAll('.feature, .footer-feature').forEach(element = { element.style.cursor = 'pointer'; element.addEventListener('click', (e) = createRipple(e, element)); }); 添加键盘快捷键支持 document.addEventListener('keydown', (e) = { if ((e.ctrlKey e.metaKey) && e.key === 'c') { const selection = window.getSelection().toString(); if (!selection) { e.preventDefault(); document.getElementById('copyButton').click(); } } ESC键清除选择 if (e.key === 'Escape') { window.getSelection().removeAllRanges(); } }); 双击用户名直接复制 document.getElementById('username').addEventListener('dblclick', (e) = { e.preventDefault(); document.getElementById('copyButton').click(); }); 触摸设备优化 if ('ontouchstart' in window) { document.querySelectorAll('.contact-box, .button').forEach(el = { el.style.cursor = 'pointer'; }); } }); script body html