示例代码:响应式工具站的404网页完整代码


这个404页面包含以下特点:

响应式设计:

自动适应手机、平板和电脑屏幕、 使用媒体查询优化不同设备的显示效果、 弹性布局和相对单位保证可扩展性

视觉设计:

柔和的背景渐变、 半透明的白色内容卡片、 微妙的阴影和深度效果、 装饰性的SVG图形、 生动的404数字动画、添加倒计时显示区域、 使用红色突出显示剩余秒数、 自动更新倒计时数字、

交互功能:

按钮悬停动画、 点击反馈效果、 自动颜色变化(可选)、 流畅的过渡动画、 使用独立的倒计时ID便于控制、 通过DOM操作实时更新显示、 事件监听器确保操作安全性、

用户体验优化:

清晰的错误信息提示、 显眼的返回首页按钮、 友好的文案语气、 良好的可读性对比、数字倒计时增强时间感知、主动操作时取消、自动跳转避免冲突

技术特性:

CSS3动画和过渡、 Flexbox布局、 SVG矢量图形、 渐变色背景、 移动优先原则

跳转逻辑:

3秒倒计时结束后自动跳转、 、 点击按钮立即跳转并停止倒计时 点击按钮时显示"正在立即跳转..."提示、

示例代码:


<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>页面未找到</title>
    <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"/>
    <style>
        /* 基础样式重置 */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        /* 页面容器 */
        .container {
            min-height: 100vh;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            padding: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* 内容区域 */
        .content {
            text-align: center;
            max-width: 800px;
            padding: 40px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            position: relative;
            overflow: hidden;
        }

        /* 404数字动画 */
        .error-code {
            font-size: 150px;
            font-weight: 900;
            color: #2c3e50;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
            margin-bottom: 20px;
            animation: float 3s ease-in-out infinite;
        }

        /* 错误信息样式 */
        .error-message {
            font-size: 24px;
            color: #34495e;
            margin-bottom: 30px;
            line-height: 1.6;
        }

        /* 返回按钮 */
        .home-btn {
            display: inline-block;
            padding: 15px 40px;
            background: #3498db;
            color: white;
            text-decoration: none;
            border-radius: 30px;
            font-weight: bold;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .home-btn:hover {
            background: #2980b9;
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(52, 152, 219, 0.4);
        }

        .home-btn:active {
            transform: translateY(0);
        }

        /* 装饰元素 */
        .decoration {
            position: absolute;
            opacity: 0.1;
        }
        
        /* 新增倒计时样式 */
        .countdown {
            color: #7f8c8d;
            margin-bottom: 15px;
            font-size: 16px;
        }
        .countdown-number {
            color: #e74c3c;
            font-weight: bold;
        }
        

        /* 响应式设计 */
        @media (max-width: 768px) {
            .error-code {
                font-size: 100px;
            }

            .error-message {
                font-size: 20px;
            }

            .content {
                margin: 20px;
                padding: 30px;
            }
        }

        @media (max-width: 480px) {
            .error-code {
                font-size: 80px;
            }

            .error-message {
                font-size: 18px;
            }
        }

        /* 动画定义 */
        @keyframes float {
            0%, 100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-20px);
            }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="content">
            <div class="error-code">404</div>
            <h1 class="error-message">
                哎呀!页面好像迷路了...
            </h1>
            <p style="margin-bottom: 25px; color: #7f8c8d;">
                您访问的页面可能已被移动、删除或暂时不可用<br>
                请检查网址是否正确,或返回主页继续使用工具
            </p>
            <!-- 新增倒计时提示 -->
            <div class="countdown" id="countdown">
                将在 <span class="countdown-number">3</span> 秒后自动返回首页
            </div>
            <a href="/" class="home-btn">
                ← 返回首页
            </a>
            
            <!-- SVG装饰元素 -->
            <svg class="decoration" style="top: -50px; left: -50px; width: 200px;" viewBox="0 0 100 100">
                <circle cx="50" cy="50" r="40" stroke="#3498db" stroke-width="2" fill="none"/>
            </svg>
            
            <svg class="decoration" style="bottom: -30px; right: -30px; width: 150px;" viewBox="0 0 100 100">
                <polygon points="50,5 95,95 5,95" stroke="#e74c3c" stroke-width="2" fill="none"/>
            </svg>
        </div>
    </div>

    <script>
        // 自动跳转功能
        let seconds = 3;
        const countdownElement = document.getElementById('countdown');
        const countdownNumber = countdownElement.querySelector('.countdown-number');
        
        // 倒计时函数
        const countdown = setInterval(() => {
            seconds--;
            countdownNumber.textContent = seconds;
            
            if(seconds <= 0) {
                clearInterval(countdown);
                window.location.href = "/";
            }
        }, 1000);

        // 当用户主动点击按钮时取消自动跳转
        document.querySelector('.home-btn').addEventListener('click', function(e) {
            clearInterval(countdown);
            countdownElement.textContent = "正在立即跳转...";
        });
        
        // 添加简单的交互动画
        document.querySelector('.home-btn').addEventListener('mouseover', function() {
            this.style.transform = 'scale(1.05)';
        });

        document.querySelector('.home-btn').addEventListener('mouseout', function() {
            this.style.transform = 'scale(1)';
        });

        // 随机背景颜色变化(可选)
        const colors = ['#3498db', '#e74c3c', '#2ecc71', '#9b59b6'];
        setInterval(() => {
            document.documentElement.style.setProperty(
                '--main-color', 
                colors[Math.floor(Math.random() * colors.length)]
            );
        }, 10000);
    </script>
</body>
</html>

显示效果:

示例代码:响应式工具站的404网页完整代码