!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