设计简洁易用,用户体验友好,适配各种设备。用户可以通过分类和搜索功能快速定位感兴趣的内容。页面定期更新和维护,确保用户获得最新和最优质的链接和资源。
html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>乞丐的项目•导航站</title>
<link href="static/css/css2.css" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background-image: linear-gradient(180deg, #2af598 0%, #009efd 100%);
background-size: 200% 200%;
animation: gradientBG 15s ease infinite;
min-height: 100vh;
color: #333;
}
#main {
max-width: 1000px;
margin: 0 auto;
padding: 20px;
}
.brand {
text-align: center;
padding: 40px 0;
color: #fff;
animation: fadeInDown 1s ease;
}
.brand-title {
font-size: 3.5em;
font-weight: 600;
margin-bottom: 15px;
text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
background: linear-gradient(180deg, #2af598 0%, #009efd 100%);;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.brand-flag {
background: rgba(255,255,255,0.15);
color: #009efd;
padding: 8px 25px;
border-radius: 30px;
font-size: 1.1em;
font-weight: 500;
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.2);
}
.card {
background: rgba(255, 255, 255, 0.9);
border-radius: 24px;
padding: 30px;
margin-bottom: 25px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
backdrop-filter: blur(10px);
transition: all 0.3s ease;
animation: fadeInUp 0.8s ease;
animation-fill-mode: both;
border: 1px solid rgba(255,255,255,0.2);
}
.card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(99, 102, 241, 0.15);
}
.button-group {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 15px;
padding: 20px;
max-width: 100%;
}
.enter-button {
background: linear-gradient(45deg, #2af598, #009efd);
color: white;
padding: 16px 20px;
border-radius: 30px;
text-decoration: none;
display: flex;
justify-content: center;
align-items: center;
font-weight: 500;
font-size: 1.1em;
transition: all 0.3s ease;
box-shadow: 0 5px 15px rgba(116, 235, 213, 0.4);
width: 100%;
text-align: center;
}
.enter-button:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(159, 172, 230, 0.5);
background: linear-gradient(45deg, #009efd, #2af598);
}
.title {
color: #009efd;
font-size: 1.4em;
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 12px;
font-weight: 600;
}
.title::before {
content: "";
width: 4px;
height: 25px;
background: linear-gradient(to bottom, #2af598, #009efd);
display: inline-block;
border-radius: 4px;
}
.link-list {
list-style: none;
}
.link-list li {
margin: 12px 0;
line-height: 1.8;
transition: all 0.3s ease;
padding: 12px 20px;
border-radius: 12px;
background: rgba(255,255,255,0.5);
}
.link-list li:hover {
background: rgba(102,126,234,0.1);
transform: translateX(5px);
}
.link-list a {
color: #009efd;
text-decoration: none;
transition: all 0.3s ease;
font-weight: 500;
}
.link-list a:hover {
color: #2af598;
}
.tip-item {
background: rgba(255,255,255,0.5);
padding: 20px;
border-radius: 16px;
margin: 15px 0;
border: 1px solid rgba(255,255,255,0.2);
}
.browser-tip {
display: flex;
align-items: center;
gap: 12px;
margin: 12px 0;
padding: 8px 0;
color: #666;
}
.icon {
width: 24px;
height: 24px;
background-size: contain;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.card:nth-child(2) { animation-delay: 0.2s; }
.card:nth-child(3) { animation-delay: 0.4s; }
.card:nth-child(4) { animation-delay: 0.6s; }
.card:nth-child(5) { animation-delay: 0.8s; }
@media (max-width: 768px) {
#main {
padding: 15px;
}
.brand-title {
font-size: 2.5em;
}
.card {
padding: 20px;
}
.button-group {
grid-template-columns: repeat(2, 1fr);
gap: 10px;
padding: 15px;
}
.enter-button {
padding: 12px 15px;
font-size: 1em;
}
.link-list li {
padding: 10px 15px;
}
}
/* 添加背景动画 */
@keyframes gradientBG {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
/* 弹窗样式 */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1000;
backdrop-filter: blur(5px);
}
.modal-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(255, 255, 255, 0.95);
padding: 30px;
border-radius: 20px;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
max-width: 90%;
width: 400px;
}
.close-modal {
position: absolute;
right: 20px;
top: 15px;
font-size: 24px;
cursor: pointer;
color: #666;
transition: all 0.3s ease;
}
.close-modal:hover {
color: #b21f1f;
transform: rotate(90deg);
}
/* 收藏方法卡片优化 */
.save-method {
padding: 15px;
border-radius: 12px;
background: rgba(255,255,255,0.5);
}
.save-card {
background: rgba(255,255,255,0.8);
padding: 20px;
border-radius: 15px;
text-align: center;
transition: all 0.3s ease;
border: 1px solid rgba(0,0,0,0.1);
}
.save-card:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.save-icon {
font-size: 24px;
margin-bottom: 10px;
}
@media (max-width: 768px) {
.save-method {
grid-template-columns: 1fr;
}
}
/* 新的弹窗样式 */
.notice-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
z-index: 1000;
backdrop-filter: blur(10px);
animation: modalFadeIn 0.4s ease;
}
.notice-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(255, 255, 255, 0.97);
padding: 40px;
border-radius: 24px;
box-shadow: 0 20px 60px rgba(0,0,0,0.3);
max-width: 90%;
width: 420px;
text-align: center;
animation: modalPop 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.notice-title {
font-size: 2em;
color: #009efd;
margin-bottom: 25px;
font-weight: 600;
background: linear-gradient(45deg, #2af598, #009efd);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.notice-text {
line-height: 2;
color: #34495e;
font-size: 1.15em;
margin-bottom: 30px;
}
.notice-text p {
margin: 10px 0;
opacity: 0;
transform: translateY(10px);
animation: textFadeIn 0.4s ease forwards;
}
.notice-text p:nth-child(1) { animation-delay: 0.1s; }
.notice-text p:nth-child(2) { animation-delay: 0.2s; }
.notice-text p:nth-child(3) { animation-delay: 0.3s; }
.notice-text p:nth-child(4) { animation-delay: 0.4s; }
.notice-btn {
background: linear-gradient(45deg, #2af598, #009efd);
color: white;
border: none;
padding: 15px 45px;
border-radius: 30px;
font-size: 1.1em;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 5px 20px rgba(116, 235, 213, 0.3);
transform: translateY(10px);
animation: buttonPop 0.4s 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
opacity: 0;
}
.notice-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(159, 172, 230, 0.4);
background: linear-gradient(45deg, #009efd, #2af598);
}
@keyframes modalPop {
0% {
transform: translate(-50%, -50%) scale(0.9);
opacity: 0;
}
100% {
transform: translate(-50%, -50%) scale(1);
opacity: 1;
}
}
@keyframes textFadeIn {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes buttonPop {
to {
opacity: 1;
transform: translateY(0);
}
}
/* 根据设备类型设置背景图 */
/*
@media (min-width: 769px) {
body {
background: url('images/desktop-bg.png') no-repeat center center fixed, linear-gradient(to right, #74ebd5 0%, #9face6 100%);
background-size: cover, 200% 200%;
}
}
@media (max-width: 768px) {
body {
background: url('images/mobile-bg.png') no-repeat center center fixed, linear-gradient(to right, #74ebd5 0%, #9face6 100%);
background-size: cover, 200% 200%;
}
}
*/
/* 添加背景图片加载失败的处理 */
@media (min-width: 769px) {
body.no-bg-image {
background: linear-gradient(180deg, #2af598 0%, #009efd 100%);
background-size: 200% 200%;
}
}
@media (max-width: 768px) {
body.no-bg-image {
background: linear-gradient(180deg, #2af598 0%, #009efd 100%);
background-size: 200% 200%;
}
}
@media (max-width: 768px) {
.save-tips {
flex-direction: column;
}
}
/* 音乐提示弹窗样式 */
.music-prompt {
position: fixed;
top: 20px;
right: -300px;
background: rgba(255, 255, 255, 0.95);
padding: 15px 20px;
border-radius: 12px;
box-shadow: 0 5px 20px rgba(0,0,0,0.15);
display: flex;
align-items: center;
gap: 15px;
transition: all 0.3s ease;
z-index: 1000;
backdrop-filter: blur(10px);
border: 1px solid rgba(255,255,255,0.2);
}
.music-prompt.show {
right: 20px;
animation: slideIn 0.3s ease;
}
.music-prompt-text {
color: #333;
font-size: 0.95em;
display: flex;
align-items: center;
gap: 10px;
}
.music-controls {
display: flex;
gap: 10px;
}
.music-btn {
width: 32px;
height: 32px;
border-radius: 50%;
border: none;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
}
.music-btn.accept {
background: linear-gradient(45deg, #2af598, #009efd);
color: white;
}
.music-btn.decline {
background: #ff4757;
color: white;
}
.music-btn:hover {
transform: scale(1.1);
}
@keyframes slideIn {
from {
right: -300px;
opacity: 0;
}
to {
right: 20px;
opacity: 1;
}
}
.countdown {
font-size: 0.8em;
color: #666;
opacity: 0.8;
}
</style>
</head>
<body>
<iframe id="background-iframe" src="beij.html" frameborder="0" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden;"></iframe>
<audio id="bgMusic" loop preload="auto">
<source src="https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1735456831158/music.mp3" type="audio/mp3">
</audio>
<div id="main">
<div class="brand">
<div class="brand-title">乞丐的项目</div>
<span class="brand-flag">永久发布页</span>
</div>
<div class="card">
<div class="button-group">
<a href="https://mu7le.top" class="enter-button">
官方网站
</a>
<a href="https://docs.qq.com/aio/DWHlHblByQWttcWJk" class="enter-button">
官方文档
</a>
<a href="https://qm.qq.com/q/AwMKI9LMM8" class="enter-button">
Q群
</a>
<a href="" class="enter-button">
赚钱
</a>
</div>
<div style="text-align: center; margin-top: 20px; color: #666;">
打不开请浏览器打开本站
</div>
</div>
<div class="card">
<h4 class="title">注意</h4>
<ul class="link-list">
<li>客服窗:<a href="mailto:7108945@qq.com">由于是国外产品,加载较慢,耐心等待</a></li>
<li>客服窗:<a href="mailto:52628975@qq.com">一分钟不出现,请更换浏览器</a></li>
<li style="color: #666;">希望大家能学会看说明</li>
</ul>
</div>
<div class="card">
<h4 class="title">永久地址</h4>
<ul class="link-list">
<li><a href="你的链接1">https://mu7le.top</a></li>
<li><a href="你的链接2">https://mu7le.top</a></li>
<li><a href="你的链接3">https://mu7le.top</a></li>
</ul>
</div>
<div class="card">
<h4 class="title">温馨提示</h4>
<div class="tip-item">
<b>推荐浏览器</b>
<p style="color: #666; margin-top: 10px;">
建议使用 Chrome、Firefox、Safari 等主流浏览器访问本站,以获得最佳体验
</p>
</div>
<div class="tip-item">
<div class="save-method">
<b style="display: flex; align-items: center; gap: 10px;">
<i class="fas fa-bookmark" style="color: #009efd;"></i>
收藏方法
</b>
<p style="color: #666; margin-top: 10px; line-height: 1.8;">
电脑端:按 Ctrl + D 键收藏本站<br>
手机端:点击浏览器菜单,添加到主屏幕
</p>
</div>
</div>
</div>
</div>
<div class="notice-modal" id="noticeModal">
<div class="notice-content">
<span class="close-modal" onclick="closeNoticeModal()">×</span>
<h3 class="notice-title">温馨提示</h3>
<div class="notice-text">
<p>为了方便下次访问</p>
<p>请按照提示收藏本站</p>
<p>若遇到打不开的情况</p>
<p>请浏览器打开本站</p>
</div>
<button class="notice-btn" onclick="closeNoticeModal()">我知道了</button>
</div>
</div>
<div class="music-prompt" id="musicPrompt">
<div class="music-prompt-text">
是否播放背景音乐?
<span class="countdown" id="countdown"></span>
</div>
<div class="music-controls">
<button class="music-btn accept" onclick="handleMusic(true)">
<i class="fas fa-check"></i>
</button>
<button class="music-btn decline" onclick="handleMusic(false)">
<i class="fas fa-times"></i>
</button>
</div>
</div>
<script>
// 修改音频管理对象
const audioManager = {
audio: null,
playing: false,
init() {
this.audio = document.getElementById('bgMusic');
// 添加加载事件监听
this.audio.addEventListener('loadeddata', () => {
console.log('音频已加载完成');
});
},
async play() {
if (this.audio && !this.playing) {
try {
await this.audio.play();
this.playing = true;
} catch (err) {
console.error('播放失败:', err);
}
}
},
pause() {
if (this.audio && this.playing) {
this.audio.pause();
this.playing = false;
}
}
};
// 在 window.onload 中初始化音频管理器
window.onload = function() {
// 初始化音频管理器
audioManager.init();
// 显示第一个弹窗
setTimeout(() => {
const modal = document.getElementById('noticeModal');
modal.style.display = 'block';
document.body.style.overflow = 'hidden';
}, 1000);
}
function handleMusic(accepted) {
if (accepted) {
// 播放音乐
try {
// 添加一个固定的音乐控制按钮
if (!document.getElementById('musicControl')) {
const musicControl = document.createElement('div');
musicControl.id = 'musicControl';
musicControl.innerHTML = '<i class="fas fa-music"></i>';
musicControl.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
width: 40px;
height: 40px;
background: linear-gradient(45deg, #2af598, #009efd);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
cursor: pointer;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
z-index: 1000;
transition: all 0.3s ease;
`;
musicControl.onclick = async function() {
if (audioManager.playing) {
audioManager.pause();
this.style.background = '#ff4757';
} else {
await audioManager.play();
this.style.background = 'linear-gradient(45deg, #2af598, #009efd)';
}
};
document.body.appendChild(musicControl);
}
// 开始播放音乐
audioManager.play();
} catch (err) {
console.error('音乐播放失败:', err);
}
}
hideMusicPrompt();
}
// 修改页面可见性处理
document.addEventListener('visibilitychange', async function() {
if (document.hidden) {
if (audioManager.playing) {
audioManager.pause();
}
} else {
if (audioManager.playing) {
await audioManager.play();
}
}
});
function closeNoticeModal() {
const modal = document.getElementById('noticeModal');
modal.style.opacity = '0';
modal.style.transform = 'scale(0.95)';
setTimeout(() => {
modal.style.display = 'none';
modal.style.opacity = '1';
modal.style.transform = 'scale(1)';
document.body.style.overflow = 'auto';
// 显示音乐提示
showMusicPrompt();
}, 400);
}
let countdownTimer = null;
let remainingTime = 5;
function showMusicPrompt() {
const musicPrompt = document.getElementById('musicPrompt');
const countdownEl = document.getElementById('countdown');
musicPrompt.classList.add('show');
// 重置倒计时
remainingTime = 5;
updateCountdown();
// 添加鼠标事件监听
musicPrompt.addEventListener('mouseenter', pauseCountdown);
musicPrompt.addEventListener('mouseleave', resumeCountdown);
// 开始倒计时
startCountdown();
}
function updateCountdown() {
const countdownEl = document.getElementById('countdown');
countdownEl.textContent = `${remainingTime}s`;
}
function startCountdown() {
if (countdownTimer) clearInterval(countdownTimer);
countdownTimer = setInterval(() => {
remainingTime--;
updateCountdown();
if (remainingTime <= 0) {
hideMusicPrompt();
}
}, 1000);
}
function pauseCountdown() {
if (countdownTimer) {
clearInterval(countdownTimer);
countdownTimer = null;
}
}
function resumeCountdown() {
if (!countdownTimer && remainingTime > 0) {
startCountdown();
}
}
function hideMusicPrompt() {
const musicPrompt = document.getElementById('musicPrompt');
// 清除倒计时和事件监听
if (countdownTimer) {
clearInterval(countdownTimer);
countdownTimer = null;
}
musicPrompt.removeEventListener('mouseenter', pauseCountdown);
musicPrompt.removeEventListener('mouseleave', resumeCountdown);
musicPrompt.style.right = '-300px';
musicPrompt.style.opacity = '0';
setTimeout(() => {
musicPrompt.classList.remove('show');
musicPrompt.style.opacity = '';
musicPrompt.style.right = '';
}, 300);
}
// 点击空白处关闭弹窗
window.onclick = function(event) {
const modal = document.getElementById('noticeModal');
if (event.target == modal) {
closeNoticeModal();
}
}
</script>
<link rel="stylesheet" href="static/css/all.min.css">
</body>
</html>