LoadinG

一款好看的网站暂停服务页面HTML源码

本文阅读 3 分钟
首页 程序代码 正文

以下是一个优雅的网站暂停服务单页HTML源码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>服务已停止</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/2.2.19/tailwind.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <link rel="stylesheet" href="https://fonts.loli.net/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap">
    <style>
        body {
            font-family: 'Noto Sans SC', sans-serif;
            background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
            color: #fff;
            min-height: 100vh;
            overflow-x: hidden;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
            padding: 2rem 1rem;
        }
        .card {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-radius: 1rem;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            overflow: hidden;
            transition: all 0.5s ease;
        }
        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
        }
        .service-icon {
            position: relative;
            width: 120px;
            height: 120px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 2rem;
            box-shadow: 0 0 30px rgba(255, 59, 48, 0.5);
        }
        .service-icon::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            border: 2px solid rgba(255, 59, 48, 0.8);
            animation: pulse 2s infinite;
        }
        @keyframes pulse {
            0% {
                transform: scale(0.95);
                opacity: 0.8;
            }

            70% {
                transform: scale(1.1);
                opacity: 0;
            }

            100% {
                transform: scale(0.95);
                opacity: 0;
            }
        }
        .slide-up {
            animation: slideUp 0.8s ease forwards;
            opacity: 0;
            transform: translateY(30px);
        }
        @keyframes slideUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .particle {
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.1) 100%);
        }
        .shake {
            animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both;
        }
        @keyframes shake {
            10%,
            90% {
                transform: translateX(-1px);
            }
            20%,
            80% {
                transform: translateX(2px);
            }
            30%,
            50%,
            70% {
                transform: translateX(-4px);
            }
            40%,
            60% {
                transform: translateX(4px);
            }
        }
        .animate-pulse {
            animation: pulse-fade 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse-fade {
            0%,
            100% {
                opacity: 1;
            }
            50% {
                opacity: .5;
            }
        }
        .badge {
            position: relative;
            display: inline-block;
            padding: 0.25rem 0.75rem;
            border-radius: 9999px;
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            margin-bottom: 1.5rem;
            background: rgba(255, 59, 48, 0.2);
            border: 1px solid rgba(255, 59, 48, 0.5);
            color: #ff3b30;
        }
        .timeline {
            position: relative;
            padding-left: 2rem;
        }
        .timeline::before {
            content: '';
            position: absolute;
            left: 0;
            top: 6px;
            height: calc(100% - 12px);
            width: 2px;
            background: rgba(156, 163, 175, 0.5);
        }
        .timeline-item {
            position: relative;
            padding-bottom: 1.5rem;
        }
        .timeline-item:last-child {
            padding-bottom: 0;
        }
        .timeline-dot {
            position: absolute;
            left: -2.45rem;
            top: 0.25rem;
            width: 1rem;
            height: 1rem;
            border-radius: 50%;
            background: #4f46e5;
            border: 2px solid #fff;
            box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3);
        }
        .service-status-badge {
            display: inline-flex;
            align-items: center;
            padding: 0.5rem 1rem;
            border-radius: 9999px;
            background: rgba(255, 59, 48, 0.2);
            border: 1px solid rgba(255, 59, 48, 0.5);
            color: #ff3b30;
            font-weight: 500;
            margin-bottom: 1.5rem;
        }
        .status-pulse {
            width: 10px;
            height: 10px;
            background-color: #ff3b30;
            border-radius: 50%;
            margin-right: 0.5rem;
            position: relative;
        }
        .status-pulse::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            border-radius: 50%;
            background-color: rgba(255, 59, 48, 0.5);
            animation: status-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
        }
        @keyframes status-ping {

            75%,
            100% {
                transform: scale(2);
                opacity: 0;
            }
        }
        .service-feature {
            display: flex;
            align-items: flex-start;
            margin-bottom: 1rem;
        }
        .feature-icon {
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 50%;
            background: rgba(79, 70, 229, 0.2);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 1rem;
            flex-shrink: 0;
            color: #818cf8;
        }
    </style>
</head>
<body>
    <div class="container mx-auto px-4 py-8">
        <div class="card p-6 md:p-8 slide-up" style="animation-delay: 0.1s;">
            <div class="text-center">
                <h1 class="text-3xl md:text-4xl font-bold mb-2 bg-gradient-to-r from-red-400 to-pink-600 bg-clip-text text-transparent">服务已停止使用</h1>
                <p class="text-gray-300 mb-6">感谢您一直以来的支持与信任</p>
                <div class="service-status-badge">
                    <span class="status-pulse"></span>
                    服务已被永久关闭
                </div>
                <div class="service-icon">
                    <i class="fas fa-power-off text-5xl text-red-500"></i>
                </div>
                <div class="bg-gray-800 bg-opacity-50 rounded-lg p-5 mb-6 max-w-2xl mx-auto">
                    <h2 class="text-xl font-bold mb-3 text-yellow-300">
                        <i class="fas fa-exclamation-triangle mr-2"></i>重要通知
                    </h2>
                    <p class="text-gray-300 mb-4">我们非常遗憾地通知您,本服务已于 <span class="font-semibold text-red-400">2025年05月18日</span> 永久停止运营。</p>
                    <p class="text-gray-300">请注意,所有账户数据将按照我们的数据处理规定进行安全处理。如您需要导出个人数据,请在 <span class="font-semibold text-yellow-300">30天内</span> 通过下方联系方式与我们联系。</p>
                </div>
                <div class="timeline mx-auto text-left max-w-lg mb-6">
                    <h3 class="font-bold text-xl mb-4 text-center text-purple-300">服务关闭时间线</h3>
                    <div class="timeline-item">
                        <div class="timeline-dot"></div>
                        <div class="font-medium text-purple-300">2025-04-01</div>
                        <div class="text-gray-300">服务关闭预告公告</div>
                    </div>
                    <div class="timeline-item">
                        <div class="timeline-dot"></div>
                        <div class="font-medium text-purple-300">2025-05-06</div>
                        <div class="text-gray-300">服务完全停止</div>
                    </div>
                    <div class="timeline-item">
                        <div class="timeline-dot"></div>
                        <div class="font-medium text-purple-300">2025-06-06</div>
                        <div class="text-gray-300">用户数据删除</div>
                    </div>
                </div>
                <div class="grid grid-cols-1 md:grid-cols-2 gap-4 max-w-2xl mx-auto">
                    <div class="service-feature">
                        <div class="feature-icon">
                            <i class="fas fa-database"></i>
                        </div>
                        <div>
                            <h3 class="font-medium text-blue-300">数据备份</h3>
                            <p class="text-sm text-gray-400">所有用户可申请个人数据备份导出</p>
                        </div>
                    </div>
                    <div class="service-feature">
                        <div class="feature-icon">
                            <i class="fas fa-coins"></i>
                        </div>
                        <div>
                            <h3 class="font-medium text-blue-300">退款申请</h3>
                            <p class="text-sm text-gray-400">未使用的服务将按比例退款</p>
                        </div>
                    </div>
                    <div class="service-feature">
                        <div class="feature-icon">
                            <i class="fas fa-headset"></i>
                        </div>
                        <div>
                            <h3 class="font-medium text-blue-300">客户支持</h3>
                            <p class="text-sm text-gray-400">服务关闭后30天内仍可获得支持</p>
                        </div>
                    </div>
                    <div class="service-feature">
                        <div class="feature-icon">
                            <i class="fas fa-arrow-right"></i>
                        </div>
                        <div>
                            <h3 class="font-medium text-blue-300">替代服务</h3>
                            <p class="text-sm text-gray-400">我们将提供替代服务推荐</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="card p-6 md:p-8 mt-6 slide-up" style="animation-delay: 0.3s;">
            <h2 class="text-xl font-bold mb-4 flex items-center">
                <i class="fas fa-question-circle mr-2 text-yellow-400"></i>
                常见问题
            </h2>
            <div class="space-y-4">
                <div class="p-4 bg-gray-800 bg-opacity-50 rounded-lg">
                    <h3 class="font-medium text-yellow-300 mb-2">我的数据会怎么处理?</h3>
                    <p class="text-gray-300">所有用户数据将根据隐私政策进行安全处理,您可以联系我们申请导出个人数据。请注意,所有数据将在服务停止30天后被永久删除。</p>
                </div>
                <div class="p-4 bg-gray-800 bg-opacity-50 rounded-lg">
                    <h3 class="font-medium text-yellow-300 mb-2">有替代服务推荐吗?</h3>
                    <p class="text-gray-300">是的,我们已经准备了相关替代服务推荐清单,将通过邮件发送给已注册用户。您也可以通过下方联系方式向我们索取这份清单。</p>
                </div>
                <div class="p-4 bg-gray-800 bg-opacity-50 rounded-lg">
                    <h3 class="font-medium text-yellow-300 mb-2">如何申请退款?</h3>
                    <p class="text-gray-300">如您有未消费的会员服务,请通过下方联系方式与我们联系,并提供您的购买凭证,我们将在7个工作日内为您处理退款事宜。</p>
                </div>
                <div class="p-4 bg-gray-800 bg-opacity-50 rounded-lg">
                    <h3 class="font-medium text-yellow-300 mb-2">为什么服务被关闭?</h3>
                    <p class="text-gray-300">由于业务战略调整和运营成本考虑,我们不得不做出关闭服务的决定。我们对此给您带来的不便深表歉意,并感谢您一直以来的支持。</p>
                </div>
            </div>
        </div>
        <footer class="mt-8 text-center text-gray-400 text-sm slide-up" style="animation-delay: 0.6s;">
            <div class="flex justify-center space-x-4 mb-4">
                <a href="https://blog.weianet.com" class="hover:text-white transition-colors" title="微信">
                    <i class="fab fa-weixin text-xl"></i>
                </a>
                <a href="https://blog.weianet.com" class="hover:text-white transition-colors" title="QQ">
                    <i class="fab fa-qq text-xl"></i>
                </a>
                <a href="https://blog.weianet.com" class="hover:text-white transition-colors" title="微博">
                    <i class="fab fa-weibo text-xl"></i>
                </a>
                <a href="https://blog.weianet.com" class="hover:text-white transition-colors" title="邮箱">
                    <i class="fas fa-envelope text-xl"></i>
                </a>
            </div>
            <p>© 2025 服务停止通知页面 | 技术支持: <a href="https://blog.weianet.com" class="text-blue-400 hover:underline">微安博客</a></p>
        </footer>
    </div>
    <script>
        // 粒子效果
        function createParticles() {
            const container = document.body;
            const particleCount = 50;
            for (let i = 0; i < particleCount; i++) {
                const size = Math.random() * 5 + 1;
                const particle = document.createElement('div');
                particle.classList.add('particle');
                particle.style.width = `${size}px`;
                particle.style.height = `${size}px`;
                particle.style.opacity = Math.random() * 0.5 + 0.1;
                // 随机位置
                particle.style.left = `${Math.random() * 100}vw`;
                particle.style.top = `${Math.random() * 100}vh`;
                // 添加动画
                particle.style.animation = `moveParticle ${Math.random() * 60 + 30}s linear infinite`;
                // 随机漂浮动画
                const keyframes = `
                    @keyframes moveParticle {
                        0% {
                            transform: translate(0, 0);
                        }
                        25% {
                            transform: translate(${Math.random() * 100 - 50}px, ${Math.random() * 100 - 50}px);
                        }
                        50% {
                            transform: translate(${Math.random() * 100 - 50}px, ${Math.random() * 100 - 50}px);
                        }
                        75% {
                            transform: translate(${Math.random() * 100 - 50}px, ${Math.random() * 100 - 50}px);
                        }
                        100% {
                            transform: translate(0, 0);
                        }
                    }
                `;
                const styleSheet = document.createElement('style');
                styleSheet.textContent = keyframes;
                document.head.appendChild(styleSheet);
                container.appendChild(particle);
            }
        }
        // 创建粒子
        window.addEventListener('load', () => {
            createParticles();
            // 添加滑动动画
            const elements = document.querySelectorAll('.slide-up');
            elements.forEach(element => {
                element.style.animationPlayState = 'running';
            });
        });
    </script>
</body>
</html>

只是一个简单的Html单页没有什么难度,您可以根据实际需求调整内容和样式。

文章采用:署名-非商业性使用-相同方式知识共享 署名 4.0 协议国际版 (CC BY-NC-SA 4.0) 许可协议授权。
免责声明:本页面资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除。
分享
解决微信QQ内置浏览器跳转外部浏览器的代码方案
« 上一篇 05-18
全新UI自适应网址发布页面HTML代码源码简洁美观
下一篇 » 05-19

发表评论 Comment

您必须 后才能发表评论哦~
昵称
请输入您的昵称
邮箱
输入QQ邮箱可获取头像
网址
可通过昵称访问您网站
快捷回复: 验证码:
让大家也知道你的独特见解
已有 0 条评论

动态快讯

热门文章

QQ客服:3236485 QQ群号:530123520

在线时间:09:00-18:00

扫描二维码

联系官方客服微信号

扫描二维码

关注官方微信公众号

{"error":400,"message":"over quota"}