我来为您创建一个功能丰富的网页对话框数据效果页面,这个页面将展示多种对话框样式和交互效果,包括模态框、侧边栏、通知提示等。

制作网页对话框数据效果
(图片来源网络,侵删)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">网页对话框数据效果展示</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        /* 自定义动画 */
        @keyframes slideIn {
            from {
                transform: translateX(100%);
                opacity: 0;
            }
            to {
                transform: translateX(0);
                opacity: 1;
            }
        }
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: scale(0.9);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }
        @keyframes slideUp {
            from {
                transform: translateY(20px);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }
        .slide-in {
            animation: slideIn 0.3s ease-out;
        }
        .fade-in {
            animation: fadeIn 0.3s ease-out;
        }
        .slide-up {
            animation: slideUp 0.3s ease-out;
        }
        /* 自定义滚动条 */
        .custom-scrollbar::-webkit-scrollbar {
            width: 6px;
        }
        .custom-scrollbar::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 3px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 3px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover {
            background: #555;
        }
        /* 模态框背景 */
        .modal-backdrop {
            backdrop-filter: blur(5px);
        }
        /* 数据表格样式 */
        .data-table {
            border-collapse: collapse;
            width: 100%;
        }
        .data-table th {
            background-color: #f3f4f6;
            font-weight: 600;
            text-align: left;
            padding: 12px;
            border-bottom: 2px solid #e5e7eb;
        }
        .data-table td {
            padding: 12px;
            border-bottom: 1px solid #e5e7eb;
        }
        .data-table tr:hover {
            background-color: #f9fafb;
        }
        /* 进度条动画 */
        @keyframes progress {
            from {
                width: 0%;
            }
        }
        .progress-bar {
            animation: progress 2s ease-out;
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- 头部导航 -->
    <header class="bg-white shadow-sm border-b">
        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
            <div class="flex justify-between items-center h-16">
                <h1 class="text-2xl font-bold text-gray-800">
                    <i class="fas fa-window-maximize mr-2 text-blue-600"></i>
                    对话框数据效果展示
                </h1>
                <div class="flex items-center space-x-4">
                    <span class="text-sm text-gray-600">2025年1月</span>
                    <button class="p-2 rounded-lg hover:bg-gray-100 transition">
                        <i class="fas fa-cog text-gray-600"></i>
                    </button>
                </div>
            </div>
        </div>
    </header>
    <!-- 主要内容区域 -->
    <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
        <!-- 控制面板 -->
        <section class="mb-8">
            <div class="bg-white rounded-lg shadow p-6">
                <h2 class="text-lg font-semibold mb-4">对话框类型</h2>
                <div class="grid grid-cols-2 md:grid-cols-4 gap-4">
                    <button onclick="showModal()" class="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition">
                        <i class="fas fa-window-restore mr-2"></i>模态框
                    </button>
                    <button onclick="showSidebar()" class="bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition">
                        <i class="fas fa-bars mr-2"></i>侧边栏
                    </button>
                    <button onclick="showNotification()" class="bg-purple-600 text-white px-4 py-2 rounded-lg hover:bg-purple-700 transition">
                        <i class="fas fa-bell mr-2"></i>通知提示
                    </button>
                    <button onclick="showConfirm()" class="bg-red-600 text-white px-4 py-2 rounded-lg hover:bg-red-700 transition">
                        <i class="fas fa-exclamation-circle mr-2"></i>确认对话框
                    </button>
                </div>
            </div>
        </section>
        <!-- 数据展示区域 -->
        <section class="grid grid-cols-1 lg:grid-cols-3 gap-6">
            <!-- 统计卡片 -->
            <div class="bg-white rounded-lg shadow p-6">
                <h3 class="text-lg font-semibold mb-4">数据统计</h3>
                <div class="space-y-4">
                    <div class="flex justify-between items-center">
                        <span class="text-gray-600">总用户数</span>
                        <span class="text-2xl font-bold text-blue-600">12,345</span>
                    </div>
                    <div class="flex justify-between items-center">
                        <span class="text-gray-600">活跃用户</span>
                        <span class="text-2xl font-bold text-green-600">8,901</span>
                    </div>
                    <div class="flex justify-between items-center">
                        <span class="text-gray-600">今日新增</span>
                        <span class="text-2xl font-bold text-purple-600">234</span>
                    </div>
                </div>
            </div>
            <!-- 进度展示 -->
            <div class="bg-white rounded-lg shadow p-6">
                <h3 class="text-lg font-semibold mb-4">项目进度</h3>
                <div class="space-y-3">
                    <div>
                        <div class="flex justify-between text-sm mb-1">
                            <span>前端开发</span>
                            <span>75%</span>
                        </div>
                        <div class="w-full bg-gray-200 rounded-full h-2">
                            <div class="bg-blue-600 h-2 rounded-full progress-bar" style="width: 75%"></div>
                        </div>
                    </div>
                    <div>
                        <div class="flex justify-between text-sm mb-1">
                            <span>后端开发</span>
                            <span>60%</span>
                        </div>
                        <div class="w-full bg-gray-200 rounded-full h-2">
                            <div class="bg-green-600 h-2 rounded-full progress-bar" style="width: 60%"></div>
                        </div>
                    </div>
                    <div>
                        <div class="flex justify-between text-sm mb-1">
                            <span>测试阶段</span>
                            <span>30%</span>
                        </div>
                        <div class="w-full bg-gray-200 rounded-full h-2">
                            <div class="bg-purple-600 h-2 rounded-full progress-bar" style="width: 30%"></div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- 图表展示 -->
            <div class="bg-white rounded-lg shadow p-6">
                <h3 class="text-lg font-semibold mb-4">销售趋势</h3>
                <div class="h-48 flex items-end justify-between">
                    <div class="w-12 bg-blue-400 rounded-t" style="height: 60%"></div>
                    <div class="w-12 bg-blue-500 rounded-t" style="height: 80%"></div>
                    <div class="w-12 bg-blue-600 rounded-t" style="height: 70%"></div>
                    <div class="w-12 bg-blue-700 rounded-t" style="height: 90%"></div>
                    <div class="w-12 bg-blue-800 rounded-t" style="height: 85%"></div>
                </div>
                <div class="flex justify-between mt-2 text-xs text-gray-600">
                    <span>1月</span>
                    <span>2月</span>
                    <span>3月</span>
                    <span>4月</span>
                    <span>5月</span>
                </div>
            </div>
        </section>
        <!-- 数据表格 -->
        <section class="mt-8 bg-white rounded-lg shadow">
            <div class="p-6">
                <div class="flex justify-between items-center mb-4">
                    <h3 class="text-lg font-semibold">用户数据表</h3>
                    <button onclick="showDataModal()" class="bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition">
                        <i class="fas fa-plus mr-2"></i>添加数据
                    </button>
                </div>
                <div class="overflow-x-auto custom-scrollbar">
                    <table class="data-table">
                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>姓名</th>
                                <th>邮箱</th>
                                <th>注册时间</th>
                                <th>状态</th>
                                <th>操作</th>
                            </tr>
                        </thead>
                        <tbody id="dataTableBody">
                            <tr>
                                <td>001</td>
                                <td>张三</td>
                                <td>zhangsan@example.com</td>
                                <td>2025-01-15</td>
                                <td><span class="px-2 py-1 bg-green-100 text-green-800 rounded text-sm">活跃</span></td>
                                <td>
                                    <button class="text-blue-600 hover:text-blue-800 mr-2">
                                        <i class="fas fa-edit"></i>
                                    </button>
                                    <button class="text-red-600 hover:text-red-800">
                                        <i class="fas fa-trash"></i>
                                    </button>
                                </td>
                            </tr>
                            <tr>
                                <td>002</td>
                                <td>李四</td>
                                <td>lisi@example.com</td>
                                <td>2025-01-14</td>
                                <td><span class="px-2 py-1 bg-green-100 text-green-800 rounded text-sm">活跃</span></td>
                                <td>
                                    <button class="text-blue-600 hover:text-blue-800 mr-2">
                                        <i class="fas fa-edit"></i>
                                    </button>
                                    <button class="text-red-600 hover:text-red-800">
                                        <i class="fas fa-trash"></i>
                                    </button>
                                </td>
                            </tr>
                            <tr>
                                <td>003</td>
                                <td>王五</td>
                                <td>wangwu@example.com</td>
                                <td>2025-01-13</td>
                                <td><span class="px-2 py-1 bg-yellow-100 text-yellow-800 rounded text-sm">待激活</span></td>
                                <td>
                                    <button class="text-blue-600 hover:text-blue-800 mr-2">
                                        <i class="fas fa-edit"></i>
                                    </button>
                                    <button class="text-red-600 hover:text-red-800">
                                        <i class="fas fa-trash"></i>
                                    </button>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </section>
    </main>
    <!-- 模态框 -->
    <div id="modal" class="fixed inset-0 z-50 hidden">
        <div class="modal-backdrop fixed inset-0 bg-black bg-opacity-50" onclick="hideModal()"></div>
        <div class="fixed inset-0 flex items-center justify-center p-4">
            <div class="bg-white rounded-lg shadow-xl max-w-md w-full fade-in">
                <div class="flex justify-between items-center p-6 border-b">
                    <h3 class="text-xl font-semibold">模态框标题</h3>
                    <button onclick="hideModal()" class="text-gray-400 hover:text-gray-600">
                        <i class="fas fa-times"></i>
                    </button>
                </div>
                <div class="p-6">
                    <p class="text-gray-600 mb-4">这是一个模态框的示例内容,您可以在其中放置任何内容,包括表单、图片、文本等。</p>
                    <div class="mb-4">
                        <label class="block text-sm font-medium text-gray-700 mb-2">用户名</label>
                        <input type="text" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder="请输入用户名">
                    </div>
                    <div class="mb-4">
                        <label class="block text-sm font-medium text-gray-700 mb-2">邮箱</label>
                        <input type="email" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder="请输入邮箱">
                    </div>
                </div>
                <div class="flex justify-end space-x-3 p-6 border-t">
                    <button onclick="hideModal()" class="px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50 transition">取消</button>
                    <button onclick="saveData()" class="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition">保存</button>
                </div>
            </div>
        </div>
    </div>
    <!-- 侧边栏 -->
    <div id="sidebar" class="fixed inset-y-0 right-0 z-50 w-80 bg-white shadow-2xl transform translate-x-full transition-transform duration-300">
        <div class="p-6 border-b">
            <div class="flex justify-between items-center">
                <h3 class="text-xl font-semibold">侧边栏菜单</h3>
                <button onclick="hideSidebar()" class="text-gray-400 hover:text-gray-600">
                    <i class="fas fa-times"></i>
                </button>
            </div>
        </div>
        <div class="p-6 overflow-y-auto custom-scrollbar" style="height: calc(100% - 80px);">
            <div class="space-y-4">
                <div class="bg-gray-50 rounded-lg p-4">
                    <h4 class="font-semibold mb-2">用户信息</h4>
                    <div class="flex items-center mb-3">
                        <img src="https://picsum.photos/seed/user1/50/50.jpg" alt="用户头像" class="w-12 h-12 rounded-full mr-3">
                        <div>
                            <p class="font-medium">张三</p>
                            <p class="text-sm text-gray-600">管理员</p>
                        </div>
                    </div>
                </div>
                <div class="bg-gray-50 rounded-lg p-4">
                    <h4 class="font-semibold mb-2">系统状态</h4>
                    <div class="space-y-2">
                        <div class="flex justify-between">
                            <span class="text-sm text-gray-600">CPU使用率</span>
                            <span class="text-sm font-medium">45%</span>
                        </div>
                        <div class="w-full bg-gray-200 rounded-full h-2">
                            <div class="bg-blue-600 h-2 rounded-full" style="width: 45%"></div>
                        </div>
                        <div class="flex justify-between">
                            <span class="text-sm text-gray-600">内存使用率</span>
                            <span class="text-sm font-medium">68%</span>
                        </div>
                        <div class="w-full bg-gray-200 rounded-full h-2">
                            <div class="bg-green-600 h-2 rounded-full" style="width: 68%"></div>
                        </div>
                    </div>
                </div>
                <div class="bg-gray-50 rounded-lg p-4">
                    <h4 class="font-semibold mb-2">快速操作</h4>
                    <div class="space-y-2">
                        <button class="w-full text-left px-3 py-2 rounded hover:bg-gray-200 transition">
                            <i class="fas fa-file-alt mr-2"></i>生成报告
                        </button>
                        <button class="w-full text-left px-3 py-2 rounded hover:bg-gray-200 transition">
                            <i class="fas fa-download mr-2"></i>导出数据
                        </button>
                        <button class="w-full text-left px-3 py-2 rounded hover:bg-gray-200 transition">
                            <i class="fas fa-cog mr-2"></i>系统设置
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- 通知提示 -->
    <div id="notification" class="fixed top-4 right-4 z-50 hidden">
        <div class="bg-white rounded-lg shadow-lg p-4 max-w-sm slide-in">
            <div class="flex items-start">
                <div class="flex-shrink-0">
                    <i class="fas fa-check-circle text-green-500 text-xl"></i>
                </div>
                <div class="ml-3">
                    <h4 class="text-sm font-semibold text-gray-900">操作成功</h4>
                    <p class="text-sm text-gray-600 mt-1">您的数据已成功保存!</p>
                </div>
                <button onclick="hideNotification()" class="ml-auto text-gray-400 hover:text-gray-600">
                    <i class="fas fa-times"></i>
                </button>
            </div>
        </div>
    </div>
    <!-- 确认对话框 -->
    <div id="confirmDialog" class="fixed inset-0 z-50 hidden">
        <div class="modal-backdrop fixed inset-0 bg-black bg-opacity-50" onclick="hideConfirm()"></div>
        <div class="fixed inset-0 flex items-center justify-center p-4">
            <div class="bg-white rounded-lg shadow-xl max-w-sm w-full fade-in">
                <div class="p-6">
                    <div class="flex items-center mb-4">
                        <div class="flex-shrink-0">
                            <i class="fas fa-exclamation-triangle text-yellow-500 text-3xl"></i>
                        </div>
                        <div class="ml-4">
                            <h3 class="text-lg font-semibold">确认删除</h3>
                            <p class="text-sm text-gray-600 mt-1">您确定要删除这条数据吗?此操作不可恢复。</p>
                        </div>
                    </div>
                </div>
                <div class="flex justify-end space-x-3 p-6 border-t">
                    <button onclick="hideConfirm()" class="px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50 transition">取消</button>
                    <button onclick="confirmDelete()" class="px-4 py-2 bg-red-600 text-white rounded-lg hover:bg-red-700 transition">确认删除</button>
                </div>
            </div>
        </div>
    </div>
    <script>
        // 模态框控制
        function showModal() {
            document.getElementById('modal').classList.remove('hidden');
        }
        function hideModal() {
            document.getElementById('modal').classList.add('hidden');
        }
        // 侧边栏控制
        function showSidebar() {
            const sidebar = document.getElementById('sidebar');
            sidebar.classList.remove('translate-x-full');
        }
        function hideSidebar() {
            const sidebar = document.getElementById('sidebar');
            sidebar.classList.add('translate-x-full');
        }
        // 通知提示控制
        function showNotification() {
            const notification = document.getElementById('notification');
            notification.classList.remove('hidden');
            setTimeout(() => {
                hideNotification();
            }, 3000);
        }
        function hideNotification() {
            document.getElementById('notification').classList.add('hidden');
        }
        // 确认对话框控制
        function showConfirm() {
            document.getElementById('confirmDialog').classList.remove('hidden');
        }
        function hideConfirm() {
            document.getElementById('confirmDialog').classList.add('hidden');
        }
        // 数据模态框
        function showDataModal() {
            showModal();
        }
        // 保存数据
        function saveData() {
            hideModal();
            showNotification();
            // 这里可以添加实际的数据保存逻辑
        }
        // 确认删除
        function confirmDelete() {
            hideConfirm();
            showNotification();
            // 这里可以添加实际的删除逻辑
        }
        // 键盘事件监听
        document.addEventListener('keydown', (e) => {
            if (e.key === 'Escape') {
                hideModal();
                hideSidebar();
                hideConfirm();
            }
        });
        // 添加表格行
        function addTableRow(data) {
            const tbody = document.getElementById('dataTableBody');
            const newRow = document.createElement('tr');
            newRow.innerHTML = `
                <td>${data.id}</td>
                <td>${data.name}</td>
                <td>${data.email}</td>
                <td>${data.date}</td>
                <td><span class="px-2 py-1 bg-green-100 text-green-800 rounded text-sm">活跃</span></td>
                <td>
                    <button class="text-blue-600 hover:text-blue-800 mr-2">
                        <i class="fas fa-edit"></i>
                    </button>
                    <button class="text-red-600 hover:text-red-800" onclick="showConfirm()">
                        <i class="fas fa-trash"></i>
                    </button>
                </td>
            `;
            tbody.appendChild(newRow);
        }
        // 页面加载时的动画
        window.addEventListener('load', () => {
            const elements = document.querySelectorAll('.bg-white');
            elements.forEach((el, index) => {
                setTimeout(() => {
                    el.classList.add('slide-up');
                }, index * 100);
            });
        });
    </script>
</body>
</html>

这个网页对话框数据效果展示页面包含了以下特性:

主要功能:

  1. 多种对话框类型

    • 模态框(Modal)
    • 侧边栏(Sidebar)
    • 通知提示(Notification)
    • 确认对话框(Confirm Dialog)
  2. 数据展示组件

    • 统计卡片
    • 进度条展示
    • 图表可视化
    • 数据表格
  3. 交互效果

    制作网页对话框数据效果
    (图片来源网络,侵删)
    • 平滑的动画过渡
    • 响应式设计
    • 键盘快捷键支持(ESC关闭)
    • 悬停效果和微交互
  4. 视觉设计

    • 现代化的UI设计
    • 使用Tailwind CSS框架
    • 自定义滚动条
    • 毛玻璃背景效果
  5. 实用功能

    • 表单输入
    • 数据添加
    • 删除确认
    • 自动关闭的通知

所有的对话框都可以通过点击按钮触发,并且都有相应的关闭功能,页面还包含了丰富的数据展示元素,展示了如何在实际应用中使用这些对话框组件。

制作网页对话框数据效果
(图片来源网络,侵删)