当前位置: 首页 > article >正文

特制一个自己的UI库,只用CSS、图标、emoji图 日后慢用!!!

图片:

 emoji图标库 --emoji.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Emoji 库</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            line-height: 1.5;
            color: #333;
            background-color: #f8f9fa;
        }

        .my-navbar {
            background-color: #fff;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            padding: 1rem;
            display: flex;
            align-items: center;
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .my-navbar__brand {
            font-size: 1.25rem;
            font-weight: bold;
            color: #333;
            text-decoration: none;
            margin-right: 2rem;
        }

        .my-navbar__search {
            position: relative;
            flex: 1;
            max-width: 500px;
        }

        .my-navbar__search-input {
            width: 100%;
            padding: 0.5rem 1rem;
            border: 1px solid #ddd;
            border-radius: 4px;
            font-size: 1rem;
            outline: none;
        }

        .my-navbar__search-input:focus {
            border-color: #007bff;
        }

        .category-filter {
            padding: 1rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            background-color: #fff;
            margin: 1rem;
            border-radius: 4px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .category-btn {
            padding: 0.5rem 1rem;
            border: 1px solid #ddd;
            border-radius: 4px;
            background-color: #fff;
            cursor: pointer;
            font-size: 0.875rem;
            transition: all 0.2s;
        }

        .category-btn:hover {
            background-color: #f8f9fa;
        }

        .category-btn.active {
            background-color: #007bff;
            color: #fff;
            border-color: #007bff;
        }

        .emoji-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
            gap: 1rem;
            padding: 1rem;
            margin: 1rem;
            background-color: #fff;
            border-radius: 4px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }

        .emoji-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 1rem;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .emoji-item:hover {
            background-color: #f8f9fa;
            transform: translateY(-2px);
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        .emoji-symbol {
            font-size: 2rem;
            margin-bottom: 0.5rem;
        }

        .emoji-name {
            font-size: 0.75rem;
            color: #666;
            text-align: center;
            word-break: break-all;
        }

        .copy-tooltip {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: #333;
            color: #fff;
            padding: 0.5rem 1rem;
            border-radius: 4px;
            font-size: 0.875rem;
            opacity: 0;
            transition: opacity 0.2s;
        }

        .copy-tooltip.show {
            opacity: 1;
        }

        @media (max-width: 768px) {
            .emoji-grid {
                grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
            }
        }
    </style>
</head>
<body>
    <nav class="my-navbar">
        <a href="index.html" class="my-navbar__brand">Emoji 库</a>
        <div class="my-navbar__search">
            <input type="text" class="my-navbar__search-input" id="searchInput" placeholder="搜索 Emoji...">
        </div>
    </nav>

    <div class="category-filter" id="categoryFilter">
        <!-- 分类按钮将通过 JavaScript 动态添加 -->
    </div>

    <div class="emoji-grid" id="emojiGrid">
        <!-- Emoji 将通过 JavaScript 动态添加 -->
    </div>

    <div class="copy-tooltip" id="copyTooltip">已复制到剪贴板!</div>

    <script>
        // Emoji 数据
        const emojis = [
            // 表情符号
            { symbol: '😀', name: '笑脸', category: '表情' },
            { symbol: '😃', name: '大笑', category: '表情' },
            { symbol: '😄', name: '开心', category: '表情' },
            { symbol: '😁', name: '露齿笑', category: '表情' },
            { symbol: '😅', name: '尴尬笑', category: '表情' },
            { symbol: '😂', name: '笑哭', category: '表情' },
            { symbol: '🤣', name: '笑倒', category: '表情' },
            { symbol: '😊', name: '害羞', category: '表情' },

            // 手势
            { symbol: '👍', name: '点赞', category: '手势' },
            { symbol: '👎', name: '踩', category: '手势' },
            { symbol: '👌', name: '好的', category: '手势' },
            { symbol: '✌️', name: '胜利', category: '手势' },
            { symbol: '🤞', name: '祝好运', category: '手势' },
            { symbol: '🤝', name: '握手', category: '手势' },
            { symbol: '👋', name: '挥手', category: '手势' },
            { symbol: '✋', name: '举手', category: '手势' },

            // 动物
            { symbol: '🐱', name: '猫', category: '动物' },
            { symbol: '🐶', name: '狗', category: '动物' },
            { symbol: '🐼', name: '熊猫', category: '动物' },
            { symbol: '🐨', name: '考拉', category: '动物' },
            { symbol: '🦁', name: '狮子', category: '动物' },
            { symbol: '🐯', name: '老虎', category: '动物' },
            { symbol: '🦊', name: '狐狸', category: '动物' },
            { symbol: '🐮', name: '牛', category: '动物' },

            // 食物
            { symbol: '🍎', name: '苹果', category: '食物' },
            { symbol: '🍐', name: '梨', category: '食物' },
            { symbol: '🍊', name: '橘子', category: '食物' },
            { symbol: '🍋', name: '柠檬', category: '食物' },
            { symbol: '🍌', name: '香蕉', category: '食物' },
            { symbol: '🍉', name: '西瓜', category: '食物' },
            { symbol: '🍇', name: '葡萄', category: '食物' },
            { symbol: '🍓', name: '草莓', category: '食物' },

            // 自然
            { symbol: '🌞', name: '太阳', category: '自然' },
            { symbol: '🌙', name: '月亮', category: '自然' },
            { symbol: '⭐', name: '星星', category: '自然' },
            { symbol: '🌈', name: '彩虹', category: '自然' },
            { symbol: '☁️', name: '云', category: '自然' },
            { symbol: '🌧️', name: '下雨', category: '自然' },
            { symbol: '❄️', name: '雪花', category: '自然' },
            { symbol: '🌸', name: '花', category: '自然' },

            // 电脑科技
            { symbol: '💻', name: '笔记本电脑', category: '电脑科技' },
            { symbol: '🖥️', name: '台式电脑', category: '电脑科技' },
            { symbol: '⌨️', name: '键盘', category: '电脑科技' },
            { symbol: '🖱️', name: '鼠标', category: '电脑科技' },
            { symbol: '🖨️', name: '打印机', category: '电脑科技' },
            { symbol: '📱', name: '手机', category: '电脑科技' },
            { symbol: '📲', name: '手机振动', category: '电脑科技' },
            { symbol: '☎️', name: '电话', category: '电脑科技' },
            { symbol: '📞', name: '电话听筒', category: '电脑科技' },
            { symbol: '🔋', name: '电池', category: '电脑科技' },
            { symbol: '🔌', name: '电源插头', category: '电脑科技' },
            { symbol: '💾', name: '软盘', category: '电脑科技' },
            { symbol: '💿', name: '光盘', category: '电脑科技' },
            { symbol: '📀', name: 'DVD', category: '电脑科技' },
            { symbol: '🎮', name: '游戏手柄', category: '电脑科技' },
            { symbol: '🕹️', name: '游戏摇杆', category: '电脑科技' },
            { symbol: '📷', name: '相机', category: '电脑科技' },
            { symbol: '📸', name: '闪光相机', category: '电脑科技' },
            { symbol: '📹', name: '摄像机', category: '电脑科技' },
            { symbol: '🎥', name: '电影摄像机', category: '电脑科技' },
            { symbol: '📺', name: '电视', category: '电脑科技' },
            { symbol: '📻', name: '收音机', category: '电脑科技' },
            { symbol: '🎙️', name: '录音麦克风', category: '电脑科技' },
            { symbol: '🎚️', name: '音量滑块', category: '电脑科技' },

            // 软件工程
            { symbol: '⚙️', name: '齿轮', category: '软件工程' },
            { symbol: '🔧', name: '扳手', category: '软件工程' },
            { symbol: '🔨', name: '锤子', category: '软件工程' },
            { symbol: '⚡', name: '闪电', category: '软件工程' },
            { symbol: '🔍', name: '搜索', category: '软件工程' },
            { symbol: '📊', name: '数据图表', category: '软件工程' },
            { symbol: '📈', name: '上升趋势', category: '软件工程' },
            { symbol: '📉', name: '下降趋势', category: '软件工程' },
            { symbol: '📋', name: '剪贴板', category: '软件工程' },
            { symbol: '📝', name: '备忘录', category: '软件工程' },
            { symbol: '✏️', name: '铅笔', category: '软件工程' },
            { symbol: '❌', name: '错误', category: '软件工程' },
            { symbol: '✅', name: '正确', category: '软件工程' },
            { symbol: '⚠️', name: '警告', category: '软件工程' },
            { symbol: '🔒', name: '锁定', category: '软件工程' },
            { symbol: '🔓', name: '解锁', category: '软件工程' },
            { symbol: '🔑', name: '密钥', category: '软件工程' },
            { symbol: '🔄', name: '同步', category: '软件工程' },
            { symbol: '📦', name: '包', category: '软件工程' },
            { symbol: '🗂️', name: '文件夹', category: '软件工程' },
            { symbol: '⏱️', name: '计时器', category: '软件工程' },
            { symbol: '🔗', name: '链接', category: '软件工程' },
            { symbol: '🔌', name: '插件', category: '软件工程' },
            { symbol: '🎯', name: '目标', category: '软件工程' },

            // 进销存
            { symbol: '📦', name: '包裹', category: '进销存' },
            { symbol: '🏭', name: '工厂', category: '进销存' },
            { symbol: '🏪', name: '商店', category: '进销存' },
            { symbol: '🏬', name: '百货商场', category: '进销存' },
            { symbol: '🏢', name: '仓库', category: '进销存' },
            { symbol: '🚚', name: '货车', category: '进销存' },
            { symbol: '🚛', name: '卡车', category: '进销存' },
            { symbol: '📥', name: '收货', category: '进销存' },
            { symbol: '📤', name: '发货', category: '进销存' },
            { symbol: '🏷️', name: '标签', category: '进销存' },
            { symbol: '💰', name: '钱袋', category: '进销存' },
            { symbol: '💵', name: '纸币', category: '进销存' },
            { symbol: '🧾', name: '收据', category: '进销存' },
            { symbol: '📃', name: '单据', category: '进销存' },
            { symbol: '📋', name: '清单', category: '进销存' },
            { symbol: '📊', name: '统计图', category: '进销存' },
            { symbol: '📈', name: '增长图', category: '进销存' },
            { symbol: '📉', name: '下降图', category: '进销存' },
            { symbol: '⚖️', name: '天平', category: '进销存' },
            { symbol: '🔍', name: '查询', category: '进销存' },
            { symbol: '📱', name: '手机端', category: '进销存' },
            { symbol: '💻', name: '电脑端', category: '进销存' },
            { symbol: '🔐', name: '安全锁', category: '进销存' },
            { symbol: '⏰', name: '定时', category: '进销存' },

            // 文件操作
            { symbol: '📁', name: '文件夹', category: '文件操作' },
            { symbol: '📂', name: '打开的文件夹', category: '文件操作' },
            { symbol: '📄', name: '文档', category: '文件操作' },
            { symbol: '📃', name: '卷曲的文档', category: '文件操作' },
            { symbol: '📑', name: '书签标签', category: '文件操作' },
            { symbol: '🔖', name: '书签', category: '文件操作' },
            { symbol: '📎', name: '回形针', category: '文件操作' },
            { symbol: '📏', name: '直尺', category: '文件操作' },
            { symbol: '✂️', name: '剪刀', category: '文件操作' },
            { symbol: '📌', name: '图钉', category: '文件操作' },
            { symbol: '📍', name: '圆形图钉', category: '文件操作' },
            { symbol: '✏️', name: '铅笔', category: '文件操作' },
            { symbol: '✒️', name: '钢笔', category: '文件操作' },
            { symbol: '📝', name: '记事本', category: '文件操作' },
            { symbol: '💼', name: '公文包', category: '文件操作' },
            { symbol: '📥', name: '收件箱', category: '文件操作' },
            { symbol: '📤', name: '发件箱', category: '文件操作' },
            { symbol: '📨', name: '来信', category: '文件操作' },
            { symbol: '📩', name: '带箭头的信封', category: '文件操作' },
            { symbol: '🗑️', name: '垃圾桶', category: '文件操作' },
            { symbol: '🔒', name: '锁定', category: '文件操作' },
            { symbol: '🔓', name: '解锁', category: '文件操作' },
            { symbol: '🔍', name: '搜索', category: '文件操作' },
            { symbol: '📋', name: '剪贴板', category: '文件操作' },

            // 设计软件
            { symbol: '🎨', name: '调色板', category: '设计软件' },
            { symbol: '🖌️', name: '画笔', category: '设计软件' },
            { symbol: '✏️', name: '铅笔', category: '设计软件' },
            { symbol: '📐', name: '三角尺', category: '设计软件' },
            { symbol: '📏', name: '直尺', category: '设计软件' },
            { symbol: '⭕', name: '圆形', category: '设计软件' },
            { symbol: '🔲', name: '方形', category: '设计软件' },
            { symbol: '🔳', name: '白色方形', category: '设计软件' },
            { symbol: '📍', name: '定位点', category: '设计软件' },
            { symbol: '🔍', name: '放大', category: '设计软件' },
            { symbol: '🔎', name: '缩小', category: '设计软件' },
            { symbol: '🖼️', name: '图片框', category: '设计软件' },
            { symbol: '🎞️', name: '图层', category: '设计软件' },
            { symbol: '✂️', name: '剪刀', category: '设计软件' },
            { symbol: '📋', name: '剪贴板', category: '设计软件' },
            { symbol: '🔄', name: '旋转', category: '设计软件' },
            { symbol: '↔️', name: '水平调整', category: '设计软件' },
            { symbol: '↕️', name: '垂直调整', category: '设计软件' },
            { symbol: '⚡', name: '效果', category: '设计软件' },
            { symbol: '💫', name: '滤镜', category: '设计软件' },
            { symbol: '🌈', name: '颜色', category: '设计软件' },
            { symbol: '⚪', name: '白色', category: '设计软件' },
            { symbol: '⚫', name: '黑色', category: '设计软件' },
            { symbol: '💭', name: '画布', category: '设计软件' },

            // 短视频
            { symbol: '📱', name: '手机拍摄', category: '短视频' },
            { symbol: '📹', name: '摄像机', category: '短视频' },
            { symbol: '🎥', name: '电影机', category: '短视频' },
            { symbol: '🎬', name: '场记板', category: '短视频' },
            { symbol: '🎭', name: '表演', category: '短视频' },
            { symbol: '🎵', name: '音乐', category: '短视频' },
            { symbol: '🎶', name: '音符', category: '短视频' },
            { symbol: '🎙️', name: '麦克风', category: '短视频' },
            { symbol: '🎚️', name: '音量调节', category: '短视频' },
            { symbol: '✂️', name: '剪辑', category: '短视频' },
            { symbol: '💫', name: '特效', category: '短视频' },
            { symbol: '🌟', name: '滤镜', category: '短视频' },
            { symbol: '📺', name: '播放', category: '短视频' },
            { symbol: '▶️', name: '开始', category: '短视频' },
            { symbol: '⏸️', name: '暂停', category: '短视频' },
            { symbol: '👥', name: '用户', category: '短视频' },
            { symbol: '❤️', name: '点赞', category: '短视频' },
            { symbol: '💬', name: '评论', category: '短视频' },
            { symbol: '🔄', name: '转发', category: '短视频' },
            { symbol: '📢', name: '推广', category: '短视频' },
            { symbol: '🏷️', name: '标签', category: '短视频' },
            { symbol: '#️⃣', name: '话题', category: '短视频' },
            { symbol: '🔥', name: '热门', category: '短视频' },
            { symbol: '📈', name: '趋势', category: '短视频' },

            // 社交
            { symbol: '💬', name: '聊天', category: '社交' },
            { symbol: '💭', name: '对话框', category: '社交' },
            { symbol: '👥', name: '用户群', category: '社交' },
            { symbol: '👤', name: '个人', category: '社交' },
            { symbol: '🤝', name: '握手', category: '社交' },
            { symbol: '👋', name: '打招呼', category: '社交' },
            { symbol: '❤️', name: '喜欢', category: '社交' },
            { symbol: '👍', name: '点赞', category: '社交' },
            { symbol: '🔔', name: '通知', category: '社交' },
            { symbol: '📱', name: '手机', category: '社交' },
            { symbol: '💻', name: '电脑', category: '社交' },
            { symbol: '📲', name: '消息提醒', category: '社交' },
            { symbol: '🔄', name: '刷新', category: '社交' },
            { symbol: '🔍', name: '搜索', category: '社交' },
            { symbol: '📷', name: '拍照', category: '社交' },
            { symbol: '🎵', name: '音乐', category: '社交' },
            { symbol: '🎮', name: '游戏', category: '社交' },
            { symbol: '🎯', name: '发现', category: '社交' },
            { symbol: '📍', name: '位置', category: '社交' },
            { symbol: '🌐', name: '全球', category: '社交' },
            { symbol: '🔐', name: '隐私', category: '社交' },
            { symbol: '⭐', name: '收藏', category: '社交' },
            { symbol: '🔗', name: '链接', category: '社交' },
            { symbol: '📢', name: '公告', category: '社交' },

            // 社交平台
            { symbol: '💚', name: '微信', category: '社交平台' },
            { symbol: '💙', name: 'QQ', category: '社交平台' },
            { symbol: '💜', name: '抖音', category: '社交平台' },
            { symbol: '❤️', name: '微博', category: '社交平台' },
            { symbol: '🧡', name: '淘宝', category: '社交平台' },
            { symbol: '💛', name: '支付宝', category: '社交平台' },
            { symbol: '💗', name: '小红书', category: '社交平台' },
            { symbol: '💌', name: '邮箱', category: '社交平台' },
            { symbol: '📞', name: '电话', category: '社交平台' },
            { symbol: '🌐', name: '浏览器', category: '社交平台' },
            { symbol: '📱', name: 'APP', category: '社交平台' },
            { symbol: '💻', name: '网页', category: '社交平台' }
        ];

        // 初始化页面
        function initializePage() {
            const emojiGrid = document.getElementById('emojiGrid');
            const categoryFilter = document.getElementById('categoryFilter');
            const searchInput = document.getElementById('searchInput');
            const copyTooltip = document.getElementById('copyTooltip');

            // 获取所有唯一的分类
            const categories = ['全部', ...new Set(emojis.map(emoji => emoji.category))];

            // 添加分类按钮
            categories.forEach(category => {
                const button = document.createElement('button');
                button.className = 'category-btn';
                button.textContent = category;
                button.addEventListener('click', () => {
                    document.querySelectorAll('.category-btn').forEach(btn => btn.classList.remove('active'));
                    button.classList.add('active');
                    filterEmojis();
                });
                if (category === '全部') button.classList.add('active');
                categoryFilter.appendChild(button);
            });

            // 搜索输入事件
            searchInput.addEventListener('input', filterEmojis);

            // 渲染 Emoji
            function renderEmojis(filteredEmojis) {
                emojiGrid.innerHTML = '';
                filteredEmojis.forEach(emoji => {
                    const div = document.createElement('div');
                    div.className = 'emoji-item';
                    div.innerHTML = `
                        <span class="emoji-symbol">${emoji.symbol}</span>
                        <span class="emoji-name">${emoji.name}</span>
                    `;
                    div.addEventListener('click', () => {
                        navigator.clipboard.writeText(emoji.symbol);
                        copyTooltip.classList.add('show');
                        setTimeout(() => copyTooltip.classList.remove('show'), 2000);
                    });
                    emojiGrid.appendChild(div);
                });
            }

            // 筛选 Emoji
            function filterEmojis() {
                const searchText = searchInput.value.toLowerCase();
                const selectedCategory = document.querySelector('.category-btn.active').textContent;
                
                const filteredEmojis = emojis.filter(emoji => {
                    const matchesSearch = emoji.name.toLowerCase().includes(searchText);
                    const matchesCategory = selectedCategory === '全部' || emoji.category === selectedCategory;
                    return matchesSearch && matchesCategory;
                });

                renderEmojis(filteredEmojis);
            }

            // 初始渲染
            filterEmojis();
        }

        // 页面加载完成后初始化
        document.addEventListener('DOMContentLoaded', initializePage);
    </script>
</body>
</html> 

icon图标库 

icons\icons.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootstrap Icons 图标库</title>
    <link rel="stylesheet" href="../styles/base.css">
    <link rel="stylesheet" href="../styles/navbar.css">
    <link rel="stylesheet" href="../styles/input.css">
    <link rel="stylesheet" href="bootstrap-icons.css">
    <style>
        .icon-container {
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .icon-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
            gap: 16px;
            margin-top: 20px;
        }

        .icon-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 16px;
            border: 1px solid var(--border-color-light);
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s;
        }

        .icon-item:hover {
            background-color: var(--background-color-light);
            transform: translateY(-2px);
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        .icon-display {
            font-size: 24px;
            margin-bottom: 8px;
            color: var(--text-primary);
        }

        .icon-name {
            font-size: 12px;
            color: var(--text-regular);
            text-align: center;
            word-break: break-all;
        }

        .search-container {
            max-width: 500px;
            margin: 20px auto;
        }

        .category-filter {
            margin: 20px 0;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .category-btn {
            padding: 6px 12px;
            border: 1px solid var(--border-color);
            border-radius: 16px;
            cursor: pointer;
            transition: all 0.3s;
            background: none;
            color: var(--text-regular);
        }

        .category-btn.active {
            background-color: var(--primary-color);
            color: white;
            border-color: var(--primary-color);
        }

        .copy-tooltip {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            padding: 8px 16px;
            background-color: var(--text-primary);
            color: white;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }

        @media screen and (max-width: 768px) {
            .icon-grid {
                grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
            }
        }
    </style>
</head>
<body>
    <nav class="my-navbar">
        <a href="../index.html" class="my-navbar__brand">My UI</a>
        <div class="my-navbar__search">
            <input type="text" class="my-navbar__search-input" id="searchInput" placeholder="搜索图标...">
            <i class="bi bi-search my-navbar__search-icon"></i>
        </div>
    </nav>

    <div class="icon-container">
        <div class="category-filter" id="categoryFilter">
            <!-- 分类按钮将通过 JavaScript 动态添加 -->
        </div>
        <div class="icon-grid" id="iconGrid">
            <!-- 图标将通过 JavaScript 动态添加 -->
        </div>
    </div>

    <div class="copy-tooltip" id="copyTooltip">已复制到剪贴板!</div>

    <script>
        // 图标数据
        const icons = [
            // 基础图标
            { name: 'check', category: '基础' },
            { name: 'x', category: '基础' },
            { name: 'plus', category: '基础' },
            { name: 'dash', category: '基础' },
            { name: 'asterisk', category: '基础' },
            { name: 'question', category: '基础' },
            { name: 'exclamation', category: '基础' },
            { name: 'info', category: '基础' },

            // 方向图标
            { name: 'arrow-up', category: '方向' },
            { name: 'arrow-down', category: '方向' },
            { name: 'arrow-left', category: '方向' },
            { name: 'arrow-right', category: '方向' },
            { name: 'chevron-up', category: '方向' },
            { name: 'chevron-down', category: '方向' },
            { name: 'chevron-left', category: '方向' },
            { name: 'chevron-right', category: '方向' },

            // 文件图标
            { name: 'file', category: '文件' },
            { name: 'file-text', category: '文件' },
            { name: 'file-pdf', category: '文件' },
            { name: 'file-excel', category: '文件' },
            { name: 'file-word', category: '文件' },
            { name: 'file-zip', category: '文件' },
            { name: 'folder', category: '文件' },
            { name: 'folder-open', category: '文件' },

            // 媒体图标
            { name: 'image', category: '媒体' },
            { name: 'camera', category: '媒体' },
            { name: 'video', category: '媒体' },
            { name: 'music-note', category: '媒体' },
            { name: 'play', category: '媒体' },
            { name: 'pause', category: '媒体' },
            { name: 'stop', category: '媒体' },
            { name: 'volume-up', category: '媒体' },

            // 设备图标
            { name: 'phone', category: '设备' },
            { name: 'laptop', category: '设备' },
            { name: 'tablet', category: '设备' },
            { name: 'tv', category: '设备' },
            { name: 'printer', category: '设备' },
            { name: 'mouse', category: '设备' },
            { name: 'keyboard', category: '设备' },
            { name: 'bluetooth', category: '设备' },

            // 社交图标
            { name: 'wechat', category: '社交' },
            { name: 'tencent-qq', category: '社交' },
            { name: 'alipay', category: '社交' },
            { name: 'facebook', category: '社交' },
            { name: 'twitter', category: '社交' },
            { name: 'instagram', category: '社交' },
            { name: 'linkedin', category: '社交' },
            { name: 'github', category: '社交' },
            { name: 'youtube', category: '社交' },
            { name: 'whatsapp', category: '社交' },
            { name: 'telegram', category: '社交' },
            { name: 'tiktok', category: '社交' },

            // 用户界面
            { name: 'search', category: 'UI' },
            { name: 'gear', category: 'UI' },
            { name: 'bell', category: 'UI' },
            { name: 'bookmark', category: 'UI' },
            { name: 'heart', category: 'UI' },
            { name: 'star', category: 'UI' },
            { name: 'trash', category: 'UI' },
            { name: 'pencil', category: 'UI' },

            // 天气图标
            { name: 'sun', category: '天气' },
            { name: 'moon', category: '天气' },
            { name: 'cloud', category: '天气' },
            { name: 'cloud-rain', category: '天气' },
            { name: 'cloud-snow', category: '天气' },
            { name: 'wind', category: '天气' },
            { name: 'thermometer', category: '天气' },
            { name: 'umbrella', category: '天气' },

            // 商务图标
            { name: 'cart', category: '商务' },
            { name: 'bag', category: '商务' },
            { name: 'credit-card', category: '商务' },
            { name: 'cash', category: '商务' },
            { name: 'gift', category: '商务' },
            { name: 'tag', category: '商务' },
            { name: 'receipt', category: '商务' },
            { name: 'shop', category: '商务' }
        ];

        // 添加办公图标
        const officeIcons = [
            { name: 'calendar', category: '办公' },
            { name: 'calendar-event', category: '办公' },
            { name: 'calendar-date', category: '办公' },
            { name: 'clock', category: '办公' },
            { name: 'alarm', category: '办公' },
            { name: 'paperclip', category: '办公' },
            { name: 'clipboard', category: '办公' },
            { name: 'clipboard-check', category: '办公' },
            { name: 'clipboard-data', category: '办公' },
            { name: 'sticky', category: '办公' },
            { name: 'pin', category: '办公' },
            { name: 'pen', category: '办公' },
            { name: 'marker', category: '办公' },
            { name: 'highlighter', category: '办公' },
            { name: 'scissors', category: '办公' },
            { name: 'printer', category: '办公' },
            { name: 'briefcase', category: '办公' },
            { name: 'building', category: '办公' },
            { name: 'telephone', category: '办公' },
            { name: 'envelope', category: '办公' }
        ];

        // 合并所有图标
        icons.push(...officeIcons);

        // 添加软件操作图标
        const softwareIcons = [
            { name: 'window', category: '软件操作' },
            { name: 'window-dock', category: '软件操作' },
            { name: 'window-sidebar', category: '软件操作' },
            { name: 'window-split', category: '软件操作' },
            { name: 'arrows-fullscreen', category: '软件操作' },
            { name: 'arrows-collapse', category: '软件操作' },
            { name: 'arrows-expand', category: '软件操作' },
            { name: 'download', category: '软件操作' },
            { name: 'upload', category: '软件操作' },
            { name: 'refresh', category: '软件操作' },
            { name: 'arrow-repeat', category: '软件操作' },
            { name: 'arrow-clockwise', category: '软件操作' },
            { name: 'arrow-counterclockwise', category: '软件操作' },
            { name: 'zoom-in', category: '软件操作' },
            { name: 'zoom-out', category: '软件操作' },
            { name: 'list', category: '软件操作' },
            { name: 'grid', category: '软件操作' },
            { name: 'columns', category: '软件操作' },
            { name: 'filter', category: '软件操作' },
            { name: 'sort-down', category: '软件操作' },
            { name: 'sort-up', category: '软件操作' },
            { name: 'sort-alpha-down', category: '软件操作' },
            { name: 'sort-alpha-up', category: '软件操作' },
            { name: 'sort-numeric-down', category: '软件操作' },
            { name: 'sort-numeric-up', category: '软件操作' },
            { name: 'plus-circle', category: '软件操作' },
            { name: 'plus-square', category: '软件操作' },
            { name: 'dash-circle', category: '软件操作' },
            { name: 'dash-square', category: '软件操作' },
            { name: 'x-circle', category: '软件操作' },
            { name: 'x-square', category: '软件操作' },
            { name: 'trash', category: '软件操作' },
            { name: 'trash2', category: '软件操作' },
            { name: 'pencil', category: '软件操作' },
            { name: 'pencil-square', category: '软件操作' },
            { name: 'save', category: '软件操作' },
            { name: 'save2', category: '软件操作' },
            { name: 'check-circle', category: '软件操作' },
            { name: 'check-square', category: '软件操作' },
            { name: 'eye', category: '软件操作' },
            { name: 'eye-slash', category: '软件操作' },
            { name: 'lock', category: '软件操作' },
            { name: 'unlock', category: '软件操作' }
        ];

        // 合并所有图标
        icons.push(...softwareIcons);

        // 初始化页面
        function initializePage() {
            const iconGrid = document.getElementById('iconGrid');
            const categoryFilter = document.getElementById('categoryFilter');
            const searchInput = document.getElementById('searchInput');
            const copyTooltip = document.getElementById('copyTooltip');

            // 获取所有唯一的分类
            const categories = ['全部', ...new Set(icons.map(icon => icon.category))];

            // 添加分类按钮
            categories.forEach(category => {
                const button = document.createElement('button');
                button.className = 'category-btn' + (category === '全部' ? ' active' : '');
                button.textContent = category;
                button.addEventListener('click', () => filterByCategory(category));
                categoryFilter.appendChild(button);
            });

            // 渲染图标
            function renderIcons(filteredIcons = icons) {
                iconGrid.innerHTML = '';
                filteredIcons.forEach(icon => {
                    const div = document.createElement('div');
                    div.className = 'icon-item';
                    div.innerHTML = `
                        <i class="bi bi-${icon.name} icon-display"></i>
                        <span class="icon-name">bi-${icon.name}</span>
                    `;
                    div.addEventListener('click', () => copyIconName(`bi bi-${icon.name}`));
                    iconGrid.appendChild(div);
                });
            }

            // 复制图标名称
            function copyIconName(iconName) {
                navigator.clipboard.writeText(iconName).then(() => {
                    copyTooltip.style.display = 'block';
                    setTimeout(() => {
                        copyTooltip.style.display = 'none';
                    }, 2000);
                });
            }

            // 分类过滤
            function filterByCategory(category) {
                document.querySelectorAll('.category-btn').forEach(btn => {
                    btn.classList.toggle('active', btn.textContent === category);
                });
                const filteredIcons = category === '全部' ? 
                    icons : 
                    icons.filter(icon => icon.category === category);
                renderIcons(filteredIcons);
            }

            // 搜索功能
            searchInput.addEventListener('input', (e) => {
                const searchTerm = e.target.value.toLowerCase();
                const filteredIcons = icons.filter(icon => 
                    icon.name.toLowerCase().includes(searchTerm) ||
                    icon.category.toLowerCase().includes(searchTerm)
                );
                renderIcons(filteredIcons);
            });

            // 初始渲染
            renderIcons();
        }

        // 页面加载完成后初始化
        document.addEventListener('DOMContentLoaded', initializePage);
    </script>
</body>
</html> 

bootstrap-icons.css

 主页

index.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My UI Library</title>
    <link rel="stylesheet" href="styles/base.css">
    <link rel="stylesheet" href="styles/button.css">
    <link rel="stylesheet" href="styles/input.css">
    <link rel="stylesheet" href="styles/card.css">
    <link rel="stylesheet" href="styles/navbar.css">
    <link rel="stylesheet" href="styles/footer.css">
    <link rel="stylesheet" href="styles/table.css">
    <link rel="stylesheet" href="styles/pagination.css">
    <link rel="stylesheet" href="styles/datepicker.css">
    <link rel="stylesheet" href="styles/number-input.css">
    <link rel="stylesheet" href="styles/dialog.css">
    <!-- 添加图标库 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
    <style>
        body {
            margin: 0;
            padding-top: 0;
        }
        .demo-section {
            padding: 20px;
            border-bottom: 1px solid var(--border-color);
        }
        .demo-section h2 {
            margin-bottom: 20px;
            color: var(--text-primary);
        }
        .demo-item {
            margin: 10px 0;
        }
        .demo-item > * {
            margin-right: 10px;
            margin-bottom: 10px;
        }
        .demo-card-container {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
            padding: 10px;
        }
        /* 卡片图片样式 */
        .my-card__image {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }
        /* 卡片列表样式 */
        .my-card__list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .my-card__list-item {
            padding: 12px 20px;
            border-bottom: 1px solid var(--border-color-light);
        }
        .my-card__list-item:last-child {
            border-bottom: none;
        }
        /* 卡片页脚样式 */
        .my-card__footer {
            padding: 12px 20px;
            background-color: var(--background-color-light);
            border-top: 1px solid var(--border-color-light);
        }
        /* 卡片文本样式 */
        .my-card__text {
            margin-bottom: 15px;
            line-height: 1.5;
        }
        .my-card__subtitle {
            color: var(--text-secondary);
            font-size: 14px;
            margin-top: 5px;
        }
    </style>
</head>
<body>
    <!-- 导航栏 -->
    <nav class="my-navbar">
        <a href="#" class="my-navbar__brand">My UI</a>
        <ul class="my-navbar__nav">
            <li class="my-navbar__item is-active">首页</li>
            <li class="my-navbar__item my-navbar__dropdown">
                组件
                <div class="my-navbar__dropdown-menu">
                    <div class="my-navbar__dropdown-item"><a href="#buttons" style="text-decoration: none; color: inherit;">按钮</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#input" style="text-decoration: none; color: inherit;">输入框</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#card" style="text-decoration: none; color: inherit;">卡片</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#dialog" style="text-decoration: none; color: inherit;">弹出框</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#navbar" style="text-decoration: none; color: inherit;">导航栏</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#table" style="text-decoration: none; color: inherit;">表格</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#pagination" style="text-decoration: none; color: inherit;">分页</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#datepicker" style="text-decoration: none; color: inherit;">日期选择器</a></div>
                    <div class="my-navbar__dropdown-item"><a href="#number-input" style="text-decoration: none; color: inherit;">数字输入框</a></div>
                    <!-- 底部    -->
                    <div class="my-navbar__dropdown-item"><a href="#footer" style="text-decoration: none; color: inherit;">底部</a></div>
            
                </div>
            </li>
            <li class="my-navbar__item"><a href="emoji.html" style="text-decoration: none; color: inherit;">🌞Emoji 图标库</a></li>
            <li class="my-navbar__item"><a href="icons/icons.html" style="text-decoration: none; color: inherit;">🎭Icons 图标库</a></li>
            <li class="my-navbar__item">关于</li>
        </ul>
        <div class="my-navbar__search">
            <input type="text" class="my-navbar__search-input" placeholder="搜索...">
            <i class="bi bi-search my-navbar__search-icon"></i>
        </div>
        <div class="my-navbar__right">
            <div class="my-navbar__item">
                <i class="bi bi-github"></i>
            </div>
            <div class="my-navbar__item my-navbar__dropdown">
                <i class="bi bi-person-circle"></i>
                <div class="my-navbar__dropdown-menu">
                    <div class="my-navbar__dropdown-item">个人中心</div>
                    <div class="my-navbar__dropdown-item">设置</div>
                    <div class="my-navbar__dropdown-item" style="color: var(--danger-color);">退出登录</div>
                </div>
            </div>
        </div>
        <div class="my-navbar__toggle">
            <i class="bi bi-list"></i>
        </div>
    </nav>

    <div class="demo-section" id="buttons">
        <h2>按钮 Buttons</h2>
        
        <!-- 基础按钮 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础按钮</div>
            </div>
            <div class="my-card__body">
                <div class="demo-item">
                    <button class="my-button">默认按钮</button>
                    <button class="my-button my-button--primary">主要按钮</button>
                    <button class="my-button my-button--success">成功按钮</button>
                    <button class="my-button my-button--warning">警告按钮</button>
                    <button class="my-button my-button--danger">危险按钮</button>
                </div>
            </div>
        </div>

        <!-- 按钮组 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">按钮组</div>
            </div>
            <div class="my-card__body">
                <!-- 基础按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group">
                        <button class="my-button">左边</button>
                        <button class="my-button">中间</button>
                        <button class="my-button">右边</button>
                    </div>
                </div>

                <!-- 不同颜色的按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group">
                        <button class="my-button my-button--primary">编辑</button>
                        <button class="my-button my-button--success">保存</button>
                        <button class="my-button my-button--danger">删除</button>
                    </div>
                </div>

                <!-- 带图标的按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group">
                        <button class="my-button">
                            <i class="bi bi-arrow-left"></i>
                            上一页
                        </button>
                        <button class="my-button">
                            下一页
                            <i class="bi bi-arrow-right"></i>
                        </button>
                    </div>
                </div>

                <!-- 工具栏按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group">
                        <button class="my-button"><i class="bi bi-type-bold"></i></button>
                        <button class="my-button"><i class="bi bi-type-italic"></i></button>
                        <button class="my-button"><i class="bi bi-type-underline"></i></button>
                        <button class="my-button"><i class="bi bi-type-strikethrough"></i></button>
                    </div>
                    <div class="my-button-group" style="margin-left: 10px;">
                        <button class="my-button"><i class="bi bi-text-left"></i></button>
                        <button class="my-button"><i class="bi bi-text-center"></i></button>
                        <button class="my-button"><i class="bi bi-text-right"></i></button>
                    </div>
                </div>

                <!-- 不同尺寸的按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group">
                        <button class="my-button my-button--large">大型</button>
                        <button class="my-button my-button--large">按钮</button>
                    </div>
                    <div class="my-button-group" style="margin: 0 10px;">
                        <button class="my-button">默认</button>
                        <button class="my-button">按钮</button>
                    </div>
                    <div class="my-button-group">
                        <button class="my-button my-button--small">小型</button>
                        <button class="my-button my-button--small">按钮</button>
                    </div>
                </div>

                <!-- 圆角按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group my-button-group--round">
                        <button class="my-button my-button--primary">选项1</button>
                        <button class="my-button my-button--primary">选项2</button>
                        <button class="my-button my-button--primary">选项3</button>
                    </div>
                </div>

                <!-- 垂直按钮组 -->
                <div class="demo-item">
                    <div class="my-button-group my-button-group--vertical">
                        <button class="my-button">上传<i class="bi bi-upload" style="margin-left: 5px;"></i></button>
                        <button class="my-button">下载<i class="bi bi-download" style="margin-left: 5px;"></i></button>
                        <button class="my-button">分享<i class="bi bi-share" style="margin-left: 5px;"></i></button>
                    </div>
                </div>
            </div>
        </div>

        <!-- 其他按钮样式 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">其他按钮样式</div>
            </div>
            <div class="my-card__body">
                <div class="demo-item">
                    <button class="my-button my-button--primary my-button--round">圆角按钮</button>
                    <button class="my-button my-button--primary is-disabled">禁用按钮</button>
                </div>

                <div class="demo-item">
                    <button class="my-button my-button--primary my-button--large">大型按钮</button>
                    <button class="my-button my-button--primary">默认按钮</button>
                    <button class="my-button my-button--primary my-button--small">小型按钮</button>
                </div>
            </div>
        </div>
    </div>

    <div class="demo-section" id="input">
        <h2>输入框 Input</h2>
        <div class="demo-item" style="max-width: 300px;">
            <div class="my-input">
                <input type="text" class="my-input__inner" placeholder="请输入内容">
            </div>
        </div>

        <div class="demo-item" style="max-width: 300px;">
            <div class="my-input is-disabled">
                <input type="text" class="my-input__inner" placeholder="禁用状态" disabled>
            </div>
        </div>

        <div class="demo-item" style="max-width: 300px;">
            <div class="my-input my-input--large">
                <input type="text" class="my-input__inner" placeholder="大型输入框">
            </div>
        </div>

        <div class="demo-item" style="max-width: 300px;">
            <div class="my-input my-input--small">
                <input type="text" class="my-input__inner" placeholder="小型输入框">
            </div>
        </div>
    </div>

    <div class="demo-section" id="card">
        <h2>卡片 Card</h2>
        <div class="demo-card-container">
            <!-- 基础卡片 -->
            <div class="my-card">
                <div class="my-card__header">
                    <div class="my-card__title">基础卡片</div>
                </div>
                <div class="my-card__body">
                    这是一个基础卡片的内容区域。你可以在这里放置任何内容。
                </div>
            </div>

            <!-- 简单卡片 -->
            <div class="my-card my-card--simple">
                <div class="my-card__body">
                    这是一个没有标题的简单卡片。适合展示简单的内容。
                </div>
            </div>

            <!-- 无边框卡片 -->
            <div class="my-card my-card--borderless">
                <div class="my-card__header">
                    <div class="my-card__title">无边框卡片</div>
                </div>
                <div class="my-card__body">
                    这是一个无边框卡片,默认具有阴影效果。
                </div>
            </div>

            <!-- 悬浮效果卡片 -->
            <div class="my-card my-card--hover">
                <div class="my-card__header">
                    <div class="my-card__title">悬浮效果卡片</div>
                </div>
                <div class="my-card__body">
                    鼠标悬浮时会有上浮动画效果和更明显的阴影。
                </div>
            </div>

            <!-- 图文卡片 -->
            <div class="my-card my-card--hover">
                <img src="https://picsum.photos/300/200" class="my-card__image" alt="卡片图片">
                <div class="my-card__body">
                    <div class="my-card__title">图文卡片</div>
                    <p class="my-card__text">这是一个包含图片和文字的卡片示例,适合用于展示产品或文章。</p>
                    <div class="my-card__meta">
                        <span><i class="bi bi-eye"></i> 1,234</span>
                        <span><i class="bi bi-heart"></i> 56</span>
                        <span><i class="bi bi-chat"></i> 23</span>
                    </div>
                </div>
            </div>

            <!-- 文章卡片 -->
            <div class="my-card my-card--hover">
                <div class="my-card__body">
                    <div class="my-card__title">深入理解CSS布局</div>
                    <div class="my-card__subtitle">前端开发 · 5分钟阅读</div>
                    <p class="my-card__text">CSS布局是前端开发中最基础也是最重要的部分之一。本文将介绍常见的CSS布局方式,包括Flexbox和Grid布局...</p>
                    <div class="my-card__meta">
                        <img src="https://picsum.photos/30/30" alt="作者头像" style="width: 30px; height: 30px; border-radius: 50%;">
                        <span>张三</span>
                        <span>2024-01-20</span>
                    </div>
                </div>
            </div>

            <!-- 商品卡片 -->
            <div class="my-card my-card--hover">
                <div class="my-card__badge">热销</div>
                <img src="https://picsum.photos/300/300" class="my-card__image" alt="商品图片">
                <div class="my-card__body">
                    <div class="my-card__title">商品名称</div>
                    <div class="my-card__price">
                        <span class="my-card__price-current">¥299</span>
                        <span class="my-card__price-original">¥399</span>
                    </div>
                    <div class="my-card__tags">
                        <span class="my-card__tag">包邮</span>
                        <span class="my-card__tag">赠品</span>
                    </div>
                    <button class="my-button my-button--primary" style="width: 100%; margin-top: 10px;">
                        <i class="bi bi-cart-plus"></i> 加入购物车
                    </button>
                </div>
            </div>

            <!-- 用户资料卡片 -->
            <div class="my-card my-card--hover">
                <div class="my-card__body" style="text-align: center;">
                    <img src="https://picsum.photos/100/100" alt="用户头像" style="width: 100px; height: 100px; border-radius: 50%; margin-bottom: 15px;">
                    <div class="my-card__title">张三</div>
                    <div class="my-card__subtitle">前端开发工程师</div>
                    <div class="my-card__stats" style="display: flex; justify-content: space-around; margin: 15px 0;">
                        <div>
                            <div style="font-weight: bold;">256</div>
                            <div style="color: #909399; font-size: 12px;">文章</div>
                        </div>
                        <div>
                            <div style="font-weight: bold;">1.2k</div>
                            <div style="color: #909399; font-size: 12px;">粉丝</div>
                        </div>
                        <div>
                            <div style="font-weight: bold;">345</div>
                            <div style="color: #909399; font-size: 12px;">关注</div>
                        </div>
                    </div>
                    <button class="my-button my-button--primary" style="width: 100%;">
                        <i class="bi bi-person-plus"></i> 关注
                    </button>
                </div>
            </div>

            <!-- 任务卡片 -->
            <div class="my-card">
                <div class="my-card__header">
                    <div class="my-card__title">待办任务</div>
                    <button class="my-button my-button--small my-button--primary">
                        <i class="bi bi-plus"></i> 新建
                    </button>
                </div>
                <div class="my-card__body" style="padding: 0;">
                    <div style="padding: 15px; border-bottom: 1px solid var(--border-color-light);">
                        <div style="display: flex; align-items: center;">
                            <input type="checkbox" style="margin-right: 10px;">
                            <div style="flex: 1;">
                                <div>完成首页设计</div>
                                <div style="font-size: 12px; color: #909399;">截止日期:2024-01-25</div>
                            </div>
                            <span class="my-button my-button--small my-button--success">进行中</span>
                        </div>
                    </div>
                    <div style="padding: 15px; border-bottom: 1px solid var(--border-color-light);">
                        <div style="display: flex; align-items: center;">
                            <input type="checkbox" style="margin-right: 10px;">
                            <div style="flex: 1;">
                                <div>优化性能</div>
                                <div style="font-size: 12px; color: #909399;">截止日期:2024-01-30</div>
                            </div>
                            <span class="my-button my-button--small my-button--warning">待处理</span>
                        </div>
                    </div>
                    <div style="padding: 15px;">
                        <div style="display: flex; align-items: center;">
                            <input type="checkbox" style="margin-right: 10px;" checked disabled>
                            <div style="flex: 1;">
                                <div style="text-decoration: line-through; color: #909399;">修复Bug</div>
                                <div style="font-size: 12px; color: #909399;">完成时间:2024-01-15</div>
                            </div>
                            <span class="my-button my-button--small is-disabled">已完成</span>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 统计卡片 -->
            <div class="my-card my-card--hover">
                <div class="my-card__body">
                    <div style="display: flex; align-items: center; margin-bottom: 20px;">
                        <i class="bi bi-graph-up" style="font-size: 24px; color: var(--primary-color); margin-right: 10px;"></i>
                        <div>
                            <div class="my-card__title" style="margin: 0;">访问统计</div>
                            <div class="my-card__subtitle">最近7天</div>
                        </div>
                    </div>
                    <div style="font-size: 36px; font-weight: bold; color: var(--primary-color);">123,456</div>
                    <div style="color: var(--success-color); margin: 10px 0;">
                        <i class="bi bi-arrow-up"></i> 15% 同比增长
                    </div>
                    <div style="display: flex; justify-content: space-between; margin-top: 20px;">
                        <div>
                            <div style="color: #909399;">日均访问</div>
                            <div style="font-weight: bold;">17.6k</div>
                        </div>
                        <div>
                            <div style="color: #909399;">转化率</div>
                            <div style="font-weight: bold;">28%</div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 通知卡片 -->
            <div class="my-card">
                <div class="my-card__header">
                    <div class="my-card__title">系统通知</div>
                    <button class="my-button my-button--small">
                        <i class="bi bi-three-dots"></i>
                    </button>
                </div>
                <div class="my-card__body" style="padding: 0;">
                    <div style="padding: 15px; border-bottom: 1px solid var(--border-color-light); display: flex; align-items: flex-start;">
                        <i class="bi bi-bell" style="color: var(--warning-color); margin-right: 10px; margin-top: 3px;"></i>
                        <div>
                            <div>系统将于今晚22:00进行升级维护</div>
                            <div style="font-size: 12px; color: #909399;">2分钟前</div>
                        </div>
                    </div>
                    <div style="padding: 15px; border-bottom: 1px solid var(--border-color-light); display: flex; align-items: flex-start;">
                        <i class="bi bi-shield-check" style="color: var(--success-color); margin-right: 10px; margin-top: 3px;"></i>
                        <div>
                            <div>您的账号已完成安全认证</div>
                            <div style="font-size: 12px; color: #909399;">1小时前</div>
                        </div>
                    </div>
                    <div style="padding: 15px; display: flex; align-items: flex-start;">
                        <i class="bi bi-gift" style="color: var(--primary-color); margin-right: 10px; margin-top: 3px;"></i>
                        <div>
                            <div>您收到一个新的礼物</div>
                            <div style="font-size: 12px; color: #909399;">2小时前</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="demo-section">
        <h2>Bootstrap风格卡片 Bootstrap-style Cards</h2>
        <div class="demo-card-container">
            <!-- 图片卡片 -->
            <div class="my-card my-card--hover">
                <img src="https://picsum.photos/300/200" class="my-card__image" alt="卡片图片">
                <div class="my-card__body">
                    <div class="my-card__title">图片卡片</div>
                    <div class="my-card__subtitle">副标题</div>
                    <p class="my-card__text">这是一个带有图片的卡片示例。图片会自动适应卡片宽度,并保持适当的比例。</p>
                    <button class="my-button my-button--primary">查看详情</button>
                </div>
            </div>

            <!-- 列表卡片 -->
            <div class="my-card">
                <div class="my-card__header">
                    <div class="my-card__title">特色列表</div>
                </div>
                <ul class="my-card__list">
                    <li class="my-card__list-item">响应式布局设计</li>
                    <li class="my-card__list-item">现代化的交互效果</li>
                    <li class="my-card__list-item">统一的设计风格</li>
                    <li class="my-card__list-item">丰富的组件类型</li>
                </ul>
            </div>

            <!-- 带页脚的卡片 -->
            <div class="my-card">
                <div class="my-card__header">
                    <div class="my-card__title">项目介绍</div>
                </div>
                <div class="my-card__body">
                    <p class="my-card__text">这是一个模仿Element Plus设计的UI组件库,采用现代化的设计理念,提供了丰富的组件和样式选项。</p>
                    <button class="my-button">取消</button>
                    <button class="my-button my-button--primary">确定</button>
                </div>
                <div class="my-card__footer">
                    最后更新于 2024-01-20
                </div>
            </div>

            <!-- 引用卡片 -->
            <div class="my-card my-card--borderless">
                <div class="my-card__body">
                    <blockquote style="margin: 0; padding-left: 1em; border-left: 4px solid var(--primary-color);">
                        <p class="my-card__text" style="font-style: italic;">"设计是一种创造性的过程,而不仅仅是装饰。"</p>
                    </blockquote>
                    <div class="my-card__subtitle" style="text-align: right;">— 设计师语录</div>
                </div>
            </div>

            <!-- 带标签的卡片 -->
            <div class="my-card">
                <div class="my-card__header" style="display: flex; justify-content: space-between; align-items: center;">
                    <div class="my-card__title">产品动态</div>
                    <span class="my-button my-button--small my-button--success">新功能</span>
                </div>
                <div class="my-card__body">
                    <p class="my-card__text">我们最新发布了卡片组件,支持多种样式和交互效果,让您的界面更加生动活泼。</p>
                    <div style="display: flex; gap: 10px;">
                        <button class="my-button my-button--small">了解更多</button>
                        <button class="my-button my-button--small my-button--primary">立即使用</button>
                    </div>
                </div>
            </div>

            <!-- 统计卡片 -->
            <div class="my-card my-card--hover" style="text-align: center;">
                <div class="my-card__body">
                    <div style="font-size: 36px; color: var(--primary-color); font-weight: bold;">1,234</div>
                    <div class="my-card__subtitle">活跃用户</div>
                    <div class="my-card__text" style="color: var(--success-color);">↑ 15% 增长</div>
                </div>
            </div>
        </div>
    </div>

    <div class="demo-section" id="navbar">
        <h2>导航栏 Navbar</h2>
        <div class="my-card">
            <div class="my-card__body">
                <p class="my-card__text">导航栏支持以下特性:</p>
                <ul class="my-card__list">
                    <li class="my-card__list-item">响应式设计,在移动端自动切换为汉堡菜单</li>
                    <li class="my-card__list-item">支持下拉菜单</li>
                    <li class="my-card__list-item">可以添加品牌标识</li>
                    <li class="my-card__list-item">支持右侧菜单</li>
                    <li class="my-card__list-item">集成图标支持</li>
                </ul>
            </div>
        </div>
    </div>

    <!-- 添加表格部分 -->
    <div class="demo-section" id="table">
        <h2>表格 Table</h2>
        
        <!-- 基础表格 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础表格</div>
            </div>
            <div class="my-card__body">
                <table class="my-table">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>姓名</th>
                            <th>职位</th>
                            <th>部门</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>1</td>
                            <td>张三</td>
                            <td>前端工程师</td>
                            <td>技术部</td>
                            <td>
                                <button class="my-button my-button--small my-button--primary">编辑</button>
                                <button class="my-button my-button--small my-button--danger">删除</button>
                            </td>
                        </tr>
                        <tr>
                            <td>2</td>
                            <td>李四</td>
                            <td>UI设计师</td>
                            <td>设计部</td>
                            <td>
                                <button class="my-button my-button--small my-button--primary">编辑</button>
                                <button class="my-button my-button--small my-button--danger">删除</button>
                            </td>
                        </tr>
                        <tr>
                            <td>3</td>
                            <td>王五</td>
                            <td>产品经理</td>
                            <td>产品部</td>
                            <td>
                                <button class="my-button my-button--small my-button--primary">编辑</button>
                                <button class="my-button my-button--small my-button--danger">删除</button>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <!-- 斑马纹表格 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">斑马纹表格</div>
            </div>
            <div class="my-card__body">
                <table class="my-table my-table--striped">
                    <thead>
                        <tr>
                            <th>订单号</th>
                            <th>商品名称</th>
                            <th>价格</th>
                            <th>状态</th>
                            <th>下单时间</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="my-table__row--success">
                            <td>2024010101</td>
                            <td>商品A</td>
                            <td>¥199.00</td>
                            <td>已完成</td>
                            <td>2024-01-01 10:00</td>
                        </tr>
                        <tr class="my-table__row--warning">
                            <td>2024010102</td>
                            <td>商品B</td>
                            <td>¥299.00</td>
                            <td>处理中</td>
                            <td>2024-01-01 11:00</td>
                        </tr>
                        <tr class="my-table__row--danger">
                            <td>2024010103</td>
                            <td>商品C</td>
                            <td>¥399.00</td>
                            <td>已取消</td>
                            <td>2024-01-01 12:00</td>
                        </tr>
                        <tr>
                            <td>2024010104</td>
                            <td>商品D</td>
                            <td>¥499.00</td>
                            <td>待付款</td>
                            <td>2024-01-01 13:00</td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <!-- 带边框的表格 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">带边框的表格</div>
            </div>
            <div class="my-card__body">
                <table class="my-table my-table--bordered">
                    <thead>
                        <tr>
                            <th>项目</th>
                            <th>完成度</th>
                            <th>负责人</th>
                            <th>截止日期</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>UI设计</td>
                            <td>90%</td>
                            <td>张三</td>
                            <td>2024-02-01</td>
                        </tr>
                        <tr>
                            <td>前端开发</td>
                            <td>70%</td>
                            <td>李四</td>
                            <td>2024-02-15</td>
                        </tr>
                        <tr>
                            <td>后端开发</td>
                            <td>60%</td>
                            <td>王五</td>
                            <td>2024-03-01</td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>

        <!-- 固定表头 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">固定表头</div>
            </div>
            <div class="my-card__body">
                <div class="my-table-wrapper">
                    <table class="my-table my-table--fixed-header">
                        <thead>
                            <tr>
                                <th>序号</th>
                                <th>姓名</th>
                                <th>年龄</th>
                                <th>性别</th>
                                <th>城市</th>
                            </tr>
                        </thead>
                        <tbody>
                            <!-- 重复多行数据以展示滚动效果 -->
                            <tr>
                                <td>1</td>
                                <td>张三</td>
                                <td>25</td>
                                <td>男</td>
                                <td>北京</td>
                            </tr>
                            <tr>
                                <td>2</td>
                                <td>李四</td>
                                <td>28</td>
                                <td>女</td>
                                <td>上海</td>
                            </tr>
                            <tr>
                                <td>3</td>
                                <td>王五</td>
                                <td>30</td>
                                <td>男</td>
                                <td>广州</td>
                            </tr>
                            <tr>
                                <td>4</td>
                                <td>赵六</td>
                                <td>22</td>
                                <td>女</td>
                                <td>深圳</td>
                            </tr>
                            <tr>
                                <td>5</td>
                                <td>钱七</td>
                                <td>35</td>
                                <td>男</td>
                                <td>杭州</td>
                            </tr>
                            <tr>
                                <td>6</td>
                                <td>孙八</td>
                                <td>27</td>
                                <td>女</td>
                                <td>成都</td>
                            </tr>
                            <tr>
                                <td>7</td>
                                <td>周九</td>
                                <td>29</td>
                                <td>男</td>
                                <td>武汉</td>
                            </tr>
                            <tr>
                                <td>8</td>
                                <td>吴十</td>
                                <td>31</td>
                                <td>女</td>
                                <td>南京</td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>

    <!-- 添加分页部分 -->
    <div class="demo-section" id="pagination">
        <h2>分页 Pagination</h2>
        
        <!-- 基础分页 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础分页</div>
            </div>
            <div class="my-card__body">
                <div class="my-pagination">
                    <div class="my-pagination__item my-pagination__item--prev is-disabled">
                        <i class="bi bi-chevron-left"></i>
                    </div>
                    <div class="my-pagination__item is-active">1</div>
                    <div class="my-pagination__item">2</div>
                    <div class="my-pagination__item">3</div>
                    <div class="my-pagination__item">4</div>
                    <div class="my-pagination__item">5</div>
                    <div class="my-pagination__item my-pagination__item--next">
                        <i class="bi bi-chevron-right"></i>
                    </div>
                </div>
            </div>
        </div>

        <!-- 带省略号的分页 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">带省略号的分页</div>
            </div>
            <div class="my-card__body">
                <div class="my-pagination">
                    <div class="my-pagination__item my-pagination__item--prev">
                        <i class="bi bi-chevron-left"></i>
                    </div>
                    <div class="my-pagination__item">1</div>
                    <div class="my-pagination__item my-pagination__item--more">...</div>
                    <div class="my-pagination__item">4</div>
                    <div class="my-pagination__item is-active">5</div>
                    <div class="my-pagination__item">6</div>
                    <div class="my-pagination__item my-pagination__item--more">...</div>
                    <div class="my-pagination__item">10</div>
                    <div class="my-pagination__item my-pagination__item--next">
                        <i class="bi bi-chevron-right"></i>
                    </div>
                </div>
            </div>
        </div>

        <!-- 禁用状态 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">禁用状态</div>
            </div>
            <div class="my-card__body">
                <div class="my-pagination">
                    <div class="my-pagination__item my-pagination__item--prev is-disabled">
                        <i class="bi bi-chevron-left"></i>
                    </div>
                    <div class="my-pagination__item is-disabled">1</div>
                    <div class="my-pagination__item is-disabled">2</div>
                    <div class="my-pagination__item is-disabled">3</div>
                    <div class="my-pagination__item my-pagination__item--next is-disabled">
                        <i class="bi bi-chevron-right"></i>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 添加日期选择器部分 -->
    <div class="demo-section" id="datepicker">
        <h2>日期选择器 DatePicker</h2>
        
        <!-- 基础日期选择器 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础日期选择器</div>
            </div>
            <div class="my-card__body">
                <div class="my-datepicker">
                    <input type="text" class="my-datepicker__input" placeholder="选择日期" readonly>
                    <i class="bi bi-calendar3 my-datepicker__icon"></i>
                </div>
                <div class="my-datepicker__panel" style="position: static; margin-top: 20px;">
                    <div class="my-datepicker__header">
                        <div class="my-datepicker__arrow">
                            <i class="bi bi-chevron-left"></i>
                        </div>
                        <div class="my-datepicker__current-month">2024年1月</div>
                        <div class="my-datepicker__arrow">
                            <i class="bi bi-chevron-right"></i>
                        </div>
                    </div>
                    <div class="my-datepicker__weekdays">
                        <div class="my-datepicker__weekday">日</div>
                        <div class="my-datepicker__weekday">一</div>
                        <div class="my-datepicker__weekday">二</div>
                        <div class="my-datepicker__weekday">三</div>
                        <div class="my-datepicker__weekday">四</div>
                        <div class="my-datepicker__weekday">五</div>
                        <div class="my-datepicker__weekday">六</div>
                    </div>
                    <div class="my-datepicker__days">
                        <div class="my-datepicker__day is-other-month">31</div>
                        <div class="my-datepicker__day">1</div>
                        <div class="my-datepicker__day">2</div>
                        <div class="my-datepicker__day">3</div>
                        <div class="my-datepicker__day">4</div>
                        <div class="my-datepicker__day">5</div>
                        <div class="my-datepicker__day">6</div>
                        <div class="my-datepicker__day">7</div>
                        <div class="my-datepicker__day">8</div>
                        <div class="my-datepicker__day">9</div>
                        <div class="my-datepicker__day is-today">10</div>
                        <div class="my-datepicker__day">11</div>
                        <div class="my-datepicker__day">12</div>
                        <div class="my-datepicker__day">13</div>
                        <div class="my-datepicker__day">14</div>
                        <div class="my-datepicker__day is-selected">15</div>
                        <div class="my-datepicker__day">16</div>
                        <div class="my-datepicker__day">17</div>
                        <div class="my-datepicker__day">18</div>
                        <div class="my-datepicker__day">19</div>
                        <div class="my-datepicker__day">20</div>
                        <div class="my-datepicker__day">21</div>
                        <div class="my-datepicker__day">22</div>
                        <div class="my-datepicker__day">23</div>
                        <div class="my-datepicker__day">24</div>
                        <div class="my-datepicker__day">25</div>
                        <div class="my-datepicker__day">26</div>
                        <div class="my-datepicker__day">27</div>
                        <div class="my-datepicker__day">28</div>
                        <div class="my-datepicker__day">29</div>
                        <div class="my-datepicker__day">30</div>
                        <div class="my-datepicker__day">31</div>
                        <div class="my-datepicker__day is-other-month">1</div>
                        <div class="my-datepicker__day is-other-month">2</div>
                        <div class="my-datepicker__day is-other-month">3</div>
                    </div>
                    <div class="my-datepicker__footer">
                        <button class="my-datepicker__btn">取消</button>
                        <button class="my-datepicker__btn my-datepicker__btn--primary">确定</button>
                    </div>
                </div>
            </div>
        </div>

        <!-- 禁用状态 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">禁用状态</div>
            </div>
            <div class="my-card__body">
                <div class="my-datepicker">
                    <input type="text" class="my-datepicker__input" placeholder="选择日期" readonly disabled>
                    <i class="bi bi-calendar3 my-datepicker__icon"></i>
                </div>
            </div>
        </div>
    </div>

    <!-- 添加数字输入框部分 -->
    <div class="demo-section" id="number-input">
        <h2>数字输入框 NumberInput</h2>
        
        <!-- 基础数字输入框 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础数字输入框</div>
            </div>
            <div class="my-card__body">
                <div class="my-number-input">
                    <input type="number" class="my-number-input__inner" value="1" min="0" max="100">
                    <div class="my-number-input__controls">
                        <div class="my-number-input__up">
                            <i class="bi bi-chevron-up my-number-input__icon"></i>
                        </div>
                        <div class="my-number-input__down">
                            <i class="bi bi-chevron-down my-number-input__icon"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 禁用状态 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">禁用状态</div>
            </div>
            <div class="my-card__body">
                <div class="my-number-input is-disabled">
                    <input type="number" class="my-number-input__inner" value="1" disabled>
                    <div class="my-number-input__controls">
                        <div class="my-number-input__up">
                            <i class="bi bi-chevron-up my-number-input__icon"></i>
                        </div>
                        <div class="my-number-input__down">
                            <i class="bi bi-chevron-down my-number-input__icon"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 不同尺寸 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">不同尺寸</div>
            </div>
            <div class="my-card__body">
                <div style="display: flex; gap: 20px; align-items: center;">
                    <div class="my-number-input my-number-input--large">
                        <input type="number" class="my-number-input__inner" value="1">
                        <div class="my-number-input__controls">
                            <div class="my-number-input__up">
                                <i class="bi bi-chevron-up my-number-input__icon"></i>
                            </div>
                            <div class="my-number-input__down">
                                <i class="bi bi-chevron-down my-number-input__icon"></i>
                            </div>
                        </div>
                    </div>

                    <div class="my-number-input">
                        <input type="number" class="my-number-input__inner" value="1">
                        <div class="my-number-input__controls">
                            <div class="my-number-input__up">
                                <i class="bi bi-chevron-up my-number-input__icon"></i>
                            </div>
                            <div class="my-number-input__down">
                                <i class="bi bi-chevron-down my-number-input__icon"></i>
                            </div>
                        </div>
                    </div>

                    <div class="my-number-input my-number-input--small">
                        <input type="number" class="my-number-input__inner" value="1">
                        <div class="my-number-input__controls">
                            <div class="my-number-input__up">
                                <i class="bi bi-chevron-up my-number-input__icon"></i>
                            </div>
                            <div class="my-number-input__down">
                                <i class="bi bi-chevron-down my-number-input__icon"></i>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 添加弹出框部分 -->
    <div class="demo-section" id="dialog">
        <h2>弹出框 Dialog</h2>
        
        <!-- 基础弹出框 -->
        <div class="my-card">
            <div class="my-card__header">
                <div class="my-card__title">基础弹出框</div>
            </div>
            <div class="my-card__body">
                <button class="my-button my-button--primary" onclick="document.getElementById('basicDialog').style.display='flex'">
                    打开弹出框
                </button>

                <!-- 基础弹出框 -->
                <div class="my-dialog__wrapper" id="basicDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('basicDialog').style.display='none'"></div>
                    <div class="my-dialog">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">提示</span>
                            <button class="my-dialog__close" onclick="document.getElementById('basicDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个基础弹出框的内容区域。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('basicDialog').style.display='none'">取消</button>
                            <button class="my-button my-button--primary" onclick="document.getElementById('basicDialog').style.display='none'">确定</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 不同尺寸 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">不同尺寸</div>
            </div>
            <div class="my-card__body">
                <button class="my-button" onclick="document.getElementById('smallDialog').style.display='flex'">
                    小型弹出框
                </button>
                <button class="my-button" onclick="document.getElementById('largeDialog').style.display='flex'" style="margin-left: 10px;">
                    大型弹出框
                </button>

                <!-- 小型弹出框 -->
                <div class="my-dialog__wrapper" id="smallDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('smallDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--small">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">小型弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('smallDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个小型弹出框的内容。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('smallDialog').style.display='none'">取消</button>
                            <button class="my-button my-button--primary" onclick="document.getElementById('smallDialog').style.display='none'">确定</button>
                        </div>
                    </div>
                </div>

                <!-- 大型弹出框 -->
                <div class="my-dialog__wrapper" id="largeDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('largeDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--large">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">大型弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('largeDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            <p>这是一个大型弹出框的内容区域。可以放置更多的内容。</p>
                            <p>比如:表单、图表、列表等。</p>
                            <p>弹出框会自动调整高度来适应内容。</p>
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('largeDialog').style.display='none'">取消</button>
                            <button class="my-button my-button--primary" onclick="document.getElementById('largeDialog').style.display='none'">确定</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 自定义内容 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">自定义内容</div>
            </div>
            <div class="my-card__body">
                <button class="my-button my-button--primary" onclick="document.getElementById('customDialog').style.display='flex'">
                    打开表单弹出框
                </button>

                <!-- 自定义内容弹出框 -->
                <div class="my-dialog__wrapper" id="customDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('customDialog').style.display='none'"></div>
                    <div class="my-dialog">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">用户信息</span>
                            <button class="my-dialog__close" onclick="document.getElementById('customDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">用户名</label>
                                <div class="my-input">
                                    <input type="text" class="my-input__inner" placeholder="请输入用户名">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">邮箱</label>
                                <div class="my-input">
                                    <input type="email" class="my-input__inner" placeholder="请输入邮箱">
                                </div>
                            </div>
                            <div>
                                <label style="display: block; margin-bottom: 8px;">年龄</label>
                                <div class="my-number-input">
                                    <input type="number" class="my-number-input__inner" value="18" min="1" max="100">
                                    <div class="my-number-input__controls">
                                        <div class="my-number-input__up">
                                            <i class="bi bi-chevron-up my-number-input__icon"></i>
                                        </div>
                                        <div class="my-number-input__down">
                                            <i class="bi bi-chevron-down my-number-input__icon"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('customDialog').style.display='none'">取消</button>
                            <button class="my-button my-button--primary" onclick="document.getElementById('customDialog').style.display='none'">提交</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 不同方向的弹出框 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">不同方向的弹出框</div>
            </div>
            <div class="my-card__body">
                <button class="my-button" onclick="document.getElementById('topDialog').style.display='flex'">
                    顶部弹出
                </button>
                <button class="my-button" onclick="document.getElementById('bottomDialog').style.display='flex'" style="margin-left: 10px;">
                    底部弹出
                </button>
                <button class="my-button" onclick="document.getElementById('leftDialog').style.display='flex'" style="margin-left: 10px;">
                    左侧弹出
                </button>
                <button class="my-button" onclick="document.getElementById('rightDialog').style.display='flex'" style="margin-left: 10px;">
                    右侧弹出
                </button>

                <!-- 顶部弹出框 -->
                <div class="my-dialog__wrapper" id="topDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('topDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--top">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">顶部弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('topDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个从顶部弹出的对话框。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('topDialog').style.display='none'">关闭</button>
                        </div>
                    </div>
                </div>

                <!-- 底部弹出框 -->
                <div class="my-dialog__wrapper" id="bottomDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('bottomDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--bottom">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">底部弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('bottomDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个从底部弹出的对话框。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('bottomDialog').style.display='none'">关闭</button>
                        </div>
                    </div>
                </div>

                <!-- 左侧弹出框 -->
                <div class="my-dialog__wrapper" id="leftDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('leftDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--left">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">左侧弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('leftDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个从左侧弹出的对话框。
                            <br><br>
                            左右侧弹出框默认占据整个视口高度,适合展示导航菜单或详细信息。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('leftDialog').style.display='none'">关闭</button>
                        </div>
                    </div>
                </div>

                <!-- 右侧弹出框 -->
                <div class="my-dialog__wrapper" id="rightDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('rightDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--right">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">右侧弹出框</span>
                            <button class="my-dialog__close" onclick="document.getElementById('rightDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            这是一个从右侧弹出的对话框。
                            <br><br>
                            左右侧弹出框默认占据整个视口高度,适合展示导航菜单或详细信息。
                        </div>
                        <div class="my-dialog__footer">
                            <button class="my-button" onclick="document.getElementById('rightDialog').style.display='none'">关闭</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 登录弹窗示例 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">登录弹窗</div>
            </div>
            <div class="my-card__body">
                <button class="my-button my-button--primary" onclick="document.getElementById('loginDialog').style.display='flex'">
                    打开登录弹窗
                </button>

                <!-- 登录弹窗 -->
                <div class="my-dialog__wrapper" id="loginDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('loginDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--small">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">用户登录</span>
                            <button class="my-dialog__close" onclick="document.getElementById('loginDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            <div style="text-align: center; margin-bottom: 20px;">
                                <i class="bi bi-person-circle" style="font-size: 48px; color: var(--primary-color);"></i>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">用户名</label>
                                <div class="my-input">
                                    <input type="text" class="my-input__inner" placeholder="请输入用户名">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">密码</label>
                                <div class="my-input">
                                    <input type="password" class="my-input__inner" placeholder="请输入密码">
                                </div>
                            </div>
                            <div style="display: flex; justify-content: space-between; margin-bottom: 20px;">
                                <label style="display: flex; align-items: center; cursor: pointer;">
                                    <input type="checkbox" style="margin-right: 8px;">
                                    记住我
                                </label>
                                <a href="#" style="color: var(--primary-color); text-decoration: none;">忘记密码?</a>
                            </div>
                            <button class="my-button my-button--primary" style="width: 100%; margin-bottom: 15px;">登录</button>
                            <div style="text-align: center;">
                                <span style="color: #909399;">还没有账号?</span>
                                <a href="#" style="color: var(--primary-color); text-decoration: none;">立即注册</a>
                            </div>
                            <div style="margin-top: 20px; text-align: center;">
                                <div style="color: #909399; margin-bottom: 10px;">其他登录方式</div>
                                <div style="display: flex; justify-content: center; gap: 20px;">
                                    <a href="#" style="color: #1DA1F2; font-size: 24px;"><i class="bi bi-twitter"></i></a>
                                    <a href="#" style="color: #4267B2; font-size: 24px;"><i class="bi bi-facebook"></i></a>
                                    <a href="#" style="color: #25D366; font-size: 24px;"><i class="bi bi-wechat"></i></a>
                                    <a href="#" style="color: #DB4437; font-size: 24px;"><i class="bi bi-google"></i></a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 注册弹窗示例 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">注册弹窗</div>
            </div>
            <div class="my-card__body">
                <button class="my-button my-button--primary" onclick="document.getElementById('registerDialog').style.display='flex'">
                    打开注册弹窗
                </button>

                <!-- 注册弹窗 -->
                <div class="my-dialog__wrapper" id="registerDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('registerDialog').style.display='none'"></div>
                    <div class="my-dialog">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">用户注册</span>
                            <button class="my-dialog__close" onclick="document.getElementById('registerDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
                                <div>
                                    <label style="display: block; margin-bottom: 8px;">姓氏</label>
                                    <div class="my-input">
                                        <input type="text" class="my-input__inner" placeholder="请输入姓氏">
                                    </div>
                                </div>
                                <div>
                                    <label style="display: block; margin-bottom: 8px;">名字</label>
                                    <div class="my-input">
                                        <input type="text" class="my-input__inner" placeholder="请输入名字">
                                    </div>
                                </div>
                            </div>
                            <div style="margin: 20px 0;">
                                <label style="display: block; margin-bottom: 8px;">电子邮箱</label>
                                <div class="my-input">
                                    <input type="email" class="my-input__inner" placeholder="请输入电子邮箱">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">手机号码</label>
                                <div class="my-input">
                                    <input type="tel" class="my-input__inner" placeholder="请输入手机号码">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">设置密码</label>
                                <div class="my-input">
                                    <input type="password" class="my-input__inner" placeholder="请设置密码">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">确认密码</label>
                                <div class="my-input">
                                    <input type="password" class="my-input__inner" placeholder="请确认密码">
                                </div>
                            </div>
                            <div style="margin-bottom: 20px;">
                                <label style="display: flex; align-items: center; cursor: pointer;">
                                    <input type="checkbox" style="margin-right: 8px;">
                                    我已阅读并同意<a href="#" style="color: var(--primary-color); text-decoration: none; margin: 0 4px;">服务条款</a>和<a href="#" style="color: var(--primary-color); text-decoration: none; margin: 0 4px;">隐私政策</a>
                                </label>
                            </div>
                            <button class="my-button my-button--primary" style="width: 100%;">注册</button>
                            <div style="text-align: center; margin-top: 15px;">
                                <span style="color: #909399;">已有账号?</span>
                                <a href="#" style="color: var(--primary-color); text-decoration: none;">立即登录</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <!-- 找回密码弹窗示例 -->
        <div class="my-card" style="margin-top: 20px;">
            <div class="my-card__header">
                <div class="my-card__title">找回密码弹窗</div>
            </div>
            <div class="my-card__body">
                <button class="my-button my-button--primary" onclick="document.getElementById('resetPasswordDialog').style.display='flex'">
                    打开找回密码弹窗
                </button>

                <!-- 找回密码弹窗 -->
                <div class="my-dialog__wrapper" id="resetPasswordDialog" style="display: none;">
                    <div class="my-dialog__mask" onclick="document.getElementById('resetPasswordDialog').style.display='none'"></div>
                    <div class="my-dialog my-dialog--small">
                        <div class="my-dialog__header">
                            <span class="my-dialog__title">找回密码</span>
                            <button class="my-dialog__close" onclick="document.getElementById('resetPasswordDialog').style.display='none'">
                                <i class="bi bi-x"></i>
                            </button>
                        </div>
                        <div class="my-dialog__body">
                            <div style="text-align: center; margin-bottom: 20px;">
                                <i class="bi bi-shield-lock" style="font-size: 48px; color: var(--primary-color);"></i>
                            </div>
                            <p style="text-align: center; color: #606266; margin-bottom: 20px;">
                                请输入您注册时使用的电子邮箱,我们将向该邮箱发送重置密码的链接。
                            </p>
                            <div style="margin-bottom: 20px;">
                                <label style="display: block; margin-bottom: 8px;">电子邮箱</label>
                                <div class="my-input">
                                    <input type="email" class="my-input__inner" placeholder="请输入电子邮箱">
                                </div>
                            </div>
                            <button class="my-button my-button--primary" style="width: 100%; margin-bottom: 15px;">发送重置链接</button>
                            <div style="text-align: center;">
                                <a href="#" style="color: var(--primary-color); text-decoration: none;">返回登录</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 添加底部 -->
    <footer class="my-footer" id="footer">
        <div class="my-footer__container">
            <div class="my-footer__section">
                <h3 class="my-footer__title">关于我们</h3>
                <ul class="my-footer__list">
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-building my-footer__icon"></i>
                            公司简介
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-people my-footer__icon"></i>
                            团队介绍
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-briefcase my-footer__icon"></i>
                            工作机会
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-newspaper my-footer__icon"></i>
                            新闻动态
                        </a>
                    </li>
                </ul>
            </div>

            <div class="my-footer__section">
                <h3 class="my-footer__title">帮助中心</h3>
                <ul class="my-footer__list">
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-book my-footer__icon"></i>
                            使用文档
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-question-circle my-footer__icon"></i>
                            常见问题
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-chat-dots my-footer__icon"></i>
                            技术支持
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-shield-check my-footer__icon"></i>
                            安全中心
                        </a>
                    </li>
                </ul>
            </div>

            <div class="my-footer__section">
                <h3 class="my-footer__title">开发者</h3>
                <ul class="my-footer__list">
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-code-square my-footer__icon"></i>
                            API文档
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-download my-footer__icon"></i>
                            下载中心
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-github my-footer__icon"></i>
                            GitHub
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-bug my-footer__icon"></i>
                            问题反馈
                        </a>
                    </li>
                </ul>
            </div>

            <div class="my-footer__section">
                <h3 class="my-footer__title">联系我们</h3>
                <ul class="my-footer__list">
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-envelope my-footer__icon"></i>
                            contact@myui.com
                        </a>
                    </li>
                    <li class="my-footer__item">
                        <a href="#" class="my-footer__link">
                            <i class="bi bi-telephone my-footer__icon"></i>
                            400-123-4567
                        </a>
                    </li>
                </ul>
                <div class="my-footer__social" style="margin-top: 20px;">
                    <a href="#" class="my-footer__social-link">
                        <i class="bi bi-twitter"></i>
                    </a>
                    <a href="#" class="my-footer__social-link">
                        <i class="bi bi-facebook"></i>
                    </a>
                    <a href="#" class="my-footer__social-link">
                        <i class="bi bi-linkedin"></i>
                    </a>
                    <a href="#" class="my-footer__social-link">
                        <i class="bi bi-instagram"></i>
                    </a>
                </div>
            </div>
        </div>

        <div class="my-footer__bottom">
            <p>© 2024 My UI Library. All rights reserved.</p>
        </div>
    </footer>

    <script>
        // 处理导航栏响应式切换
        document.querySelector('.my-navbar__toggle').addEventListener('click', function() {
            document.querySelector('.my-navbar').classList.toggle('is-active');
        });

        // 点击导航项时关闭移动端菜单
        document.querySelectorAll('.my-navbar__item').forEach(item => {
            item.addEventListener('click', function() {
                if (window.innerWidth <= 768) {
                    document.querySelector('.my-navbar').classList.remove('is-active');
                }
            });
        });
    </script>

    <div class="demo-section">
        <h2>左右布局卡片 Horizontal Cards</h2>
        <div class="demo-card-container" style="grid-template-columns: 1fr;">
            <!-- 基础左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch;">
                <img src="https://picsum.photos/300/300" style="width: 300px; height: auto; object-fit: cover;" alt="卡片图片">
                <div style="flex: 1; display: flex; flex-direction: column;">
                    <div class="my-card__header">
                        <div class="my-card__title">左右布局卡片</div>
                        <div class="my-card__subtitle">适合新闻、博客等内容展示</div>
                    </div>
                    <div class="my-card__body" style="flex: 1;">
                        <p class="my-card__text">这是一个基础的左右布局卡片示例。左侧是图片,右侧是内容。这种布局特别适合展示新闻、博客文章、产品介绍等内容。</p>
                        <div style="margin-top: auto;">
                            <button class="my-button my-button--primary"></button>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 新闻类左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch; margin-top: 20px;">
                <img src="https://picsum.photos/400/300" style="width: 400px; height: auto; object-fit: cover;" alt="新闻图片">
                <div style="flex: 1; display: flex; flex-direction: column;">
                    <div class="my-card__body" style="flex: 1; display: flex; flex-direction: column;">
                        <div>
                            <span class="my-button my-button--small my-button--primary" style="margin-bottom: 10px;">科技</span>
                            <div class="my-card__title" style="font-size: 24px; margin: 10px 0;">人工智能技术最新突破:自然语言处理能力大幅提升</div>
                            <div class="my-card__subtitle" style="margin-bottom: 15px;">发布于 2024-01-20 · 阅读时间 8分钟</div>
                            <p class="my-card__text">最新研究表明,通过深度学习和神经网络的创新应用,AI在自然语言处理领域取得重大突破。这项技术将为人机交互带来革命性的改变...</p>
                        </div>
                        <div style="margin-top: auto; display: flex; justify-content: space-between; align-items: center;">
                            <div style="display: flex; align-items: center;">
                                <img src="https://picsum.photos/40/40" style="width: 40px; height: 40px; border-radius: 50%; margin-right: 10px;" alt="作者头像">
                                <div>
                                    <div style="font-weight: bold;">张三</div>
                                    <div style="font-size: 12px; color: var(--text-secondary);">AI研究员</div>
                                </div>
                            </div>
                            <div>
                                <button class="my-button my-button--small">
                                    <i class="bi bi-bookmark"></i> 收藏
                                </button>
                                <button class="my-button my-button--small">
                                    <i class="bi bi-share"></i> 分享
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 产品介绍左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch; margin-top: 20px;">
                <div style="flex: 1; display: flex; flex-direction: column; padding: 30px;">
                    <div style="margin-bottom: 20px;">
                        <span class="my-button my-button--small my-button--warning">限时特惠</span>
                    </div>
                    <div class="my-card__title" style="font-size: 28px; margin-bottom: 10px;">新一代智能手表</div>
                    <div class="my-card__subtitle" style="font-size: 16px; margin-bottom: 20px;">科技与时尚的完美结合</div>
                    <p class="my-card__text">这款智能手表采用最新的健康监测技术,支持心率、血氧、睡眠等多项指标监测。超长续航能力,一次充电可使用7天。</p>
                    <div class="my-card__price" style="margin: 20px 0;">
                        <span style="font-size: 32px; color: var(--danger-color); font-weight: bold;">¥1,999</span>
                        <span style="text-decoration: line-through; color: var(--text-secondary); margin-left: 10px;">¥2,499</span>
                    </div>
                    <div style="margin-top: auto;">
                        <button class="my-button my-button--large my-button--primary" style="margin-right: 10px;">
                            <i class="bi bi-cart-plus"></i> 立即购买
                        </button>
                        <button class="my-button my-button--large">
                            <i class="bi bi-heart"></i> 加入收藏
                        </button>
                    </div>
                </div>
                <img src="https://picsum.photos/500/400" style="width: 500px; height: auto; object-fit: cover;" alt="产品图片">
            </div>

            <!-- 活动介绍左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch; margin-top: 20px;">
                <img src="https://picsum.photos/400/300" style="width: 400px; height: auto; object-fit: cover;" alt="活动图片">
                <div style="flex: 1; display: flex; flex-direction: column; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); color: white;">
                    <div class="my-card__body" style="flex: 1; display: flex; flex-direction: column;">
                        <div>
                            <div style="font-size: 32px; font-weight: bold; margin-bottom: 15px;">2024技术峰会</div>
                            <div style="font-size: 18px; margin-bottom: 20px;">探索技术的未来</div>
                            <p style="line-height: 1.6; margin-bottom: 20px;">加入我们的年度技术盛会,与行业专家面对面交流,探讨最新技术趋势,参与精彩的技术分享和工作坊。</p>
                            <div style="display: flex; gap: 20px; margin-bottom: 30px;">
                                <div>
                                    <i class="bi bi-calendar-event" style="margin-right: 8px;"></i>
                                    2024年3月15日
                                </div>
                                <div>
                                    <i class="bi bi-geo-alt" style="margin-right: 8px;"></i>
                                    上海国际会议中心
                                </div>
                            </div>
                        </div>
                        <div style="margin-top: auto; display: flex; justify-content: space-between; align-items: center;">
                            <div>
                                <span style="font-size: 24px; font-weight: bold;">¥1,288</span>
                                <span style="margin-left: 10px;">早鸟票</span>
                            </div>
                            <button class="my-button my-button--large" style="background: white; color: #6366f1;">
                                立即报名
                            </button>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 团队成员左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch; margin-top: 20px;">
                <img src="https://picsum.photos/300/400" style="width: 300px; height: auto; object-fit: cover;" alt="团队成员照片">
                <div style="flex: 1; display: flex; flex-direction: column;">
                    <div class="my-card__body" style="flex: 1; display: flex; flex-direction: column;">
                        <div>
                            <div class="my-card__title" style="font-size: 24px;">张三</div>
                            <div class="my-card__subtitle" style="margin: 10px 0;">首席技术官 / 技术专家</div>
                            <p class="my-card__text">拥有10年以上技术开发经验,专注于人工智能和大数据领域。曾主导多个大型项目的技术架构设计和实施。</p>
                            
                            <div style="margin: 20px 0;">
                                <div style="margin-bottom: 15px;">
                                    <div style="font-weight: bold; margin-bottom: 5px;">专业技能</div>
                                    <div style="display: flex; gap: 10px; flex-wrap: wrap;">
                                        <span class="my-button my-button--small">人工智能</span>
                                        <span class="my-button my-button--small">机器学习</span>
                                        <span class="my-button my-button--small">Python</span>
                                        <span class="my-button my-button--small">数据分析</span>
                                    </div>
                                </div>
                                
                                <div>
                                    <div style="font-weight: bold; margin-bottom: 5px;">联系方式</div>
                                    <div style="display: flex; gap: 20px;">
                                        <span><i class="bi bi-envelope"></i> zhang@example.com</span>
                                        <span><i class="bi bi-telephone"></i> +86 123 4567 8901</span>
                                    </div>
                                </div>
                            </div>
                        </div>
                        
                        <div style="margin-top: auto; display: flex; gap: 10px;">
                            <button class="my-button my-button--primary">
                                <i class="bi bi-person-plus"></i> 关注
                            </button>
                            <button class="my-button">
                                <i class="bi bi-chat-dots"></i> 发送消息
                            </button>
                        </div>
                    </div>
                </div>
            </div>

            <!-- 商品详情多图左右布局卡片 -->
            <div class="my-card" style="display: flex; align-items: stretch; margin-top: 20px;">
                <!-- 左侧图片展示区 -->
                <div style="width: 500px; padding: 20px;">
                    <!-- 主图展示 -->
                    <div style="margin-bottom: 20px;">
                        <img src="https://picsum.photos/500/500" style="width: 100%; height: 400px; object-fit: cover; border-radius: 4px;" alt="商品主图">
                    </div>
                    <!-- 缩略图列表 -->
                    <div style="display: flex; gap: 10px; overflow-x: auto; padding-bottom: 10px;">
                        <img src="https://picsum.photos/500/500" style="width: 80px; height: 80px; object-fit: cover; border-radius: 4px; cursor: pointer; border: 2px solid var(--primary-color);" alt="缩略图1">
                        <img src="https://picsum.photos/501/501" style="width: 80px; height: 80px; object-fit: cover; border-radius: 4px; cursor: pointer; opacity: 0.7;" alt="缩略图2">
                        <img src="https://picsum.photos/502/502" style="width: 80px; height: 80px; object-fit: cover; border-radius: 4px; cursor: pointer; opacity: 0.7;" alt="缩略图3">
                        <img src="https://picsum.photos/503/503" style="width: 80px; height: 80px; object-fit: cover; border-radius: 4px; cursor: pointer; opacity: 0.7;" alt="缩略图4">
                        <img src="https://picsum.photos/504/504" style="width: 80px; height: 80px; object-fit: cover; border-radius: 4px; cursor: pointer; opacity: 0.7;" alt="缩略图5">
                    </div>
                </div>

                <!-- 右侧商品信息 -->
                <div style="flex: 1; display: flex; flex-direction: column; padding: 30px; background-color: var(--background-color-light);">
                    <div style="margin-bottom: 20px;">
                        <span class="my-button my-button--small my-button--danger">热卖爆款</span>
                        <span class="my-button my-button--small my-button--warning" style="margin-left: 10px;">限时优惠</span>
                    </div>
                    
                    <div class="my-card__title" style="font-size: 24px; margin-bottom: 10px;">轻奢真皮休闲运动鞋</div>
                    <div class="my-card__subtitle" style="margin-bottom: 20px;">意大利进口牛皮 · 专利减震科技</div>
                    
                    <!-- 价格信息 -->
                    <div style="background: #fff5f5; padding: 15px; border-radius: 4px; margin-bottom: 20px;">
                        <div style="display: flex; align-items: baseline;">
                            <span style="font-size: 32px; color: var(--danger-color); font-weight: bold;">¥899</span>
                            <span style="text-decoration: line-through; color: var(--text-secondary); margin-left: 10px;">¥1,299</span>
                            <span class="my-button my-button--small my-button--danger" style="margin-left: 15px;">省¥400</span>
                        </div>
                        <div style="font-size: 12px; color: var(--text-secondary); margin-top: 5px;">
                            <i class="bi bi-clock"></i> 优惠剩余 2天3小时15分
                        </div>
                    </div>

                    <!-- 商品属性 -->
                    <div style="margin-bottom: 20px;">
                        <div style="margin-bottom: 15px;">
                            <div style="font-weight: bold; margin-bottom: 10px;">颜色</div>
                            <div style="display: flex; gap: 10px;">
                                <div style="width: 40px; height: 40px; border-radius: 4px; background-color: #000; cursor: pointer; border: 2px solid var(--primary-color);"></div>
                                <div style="width: 40px; height: 40px; border-radius: 4px; background-color: #fff; cursor: pointer; border: 1px solid var(--border-color);"></div>
                                <div style="width: 40px; height: 40px; border-radius: 4px; background-color: #964B00; cursor: pointer; border: 1px solid var(--border-color);"></div>
                            </div>
                        </div>
                        
                        <div style="margin-bottom: 15px;">
                            <div style="font-weight: bold; margin-bottom: 10px;">尺码</div>
                            <div style="display: flex; flex-wrap: wrap; gap: 10px;">
                                <button class="my-button my-button--small" style="width: 50px;">38</button>
                                <button class="my-button my-button--small" style="width: 50px;">39</button>
                                <button class="my-button my-button--small my-button--primary" style="width: 50px;">40</button>
                                <button class="my-button my-button--small" style="width: 50px;">41</button>
                                <button class="my-button my-button--small" style="width: 50px;">42</button>
                                <button class="my-button my-button--small is-disabled" style="width: 50px;">43</button>
                            </div>
                        </div>

                        <div style="margin-bottom: 15px;">
                            <div style="font-weight: bold; margin-bottom: 10px;">数量</div>
                            <div class="my-number-input" style="width: 120px;">
                                <input type="number" class="my-number-input__inner" value="1" min="1" max="99">
                                <div class="my-number-input__controls">
                                    <div class="my-number-input__up">
                                        <i class="bi bi-chevron-up my-number-input__icon"></i>
                                    </div>
                                    <div class="my-number-input__down">
                                        <i class="bi bi-chevron-down my-number-input__icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- 商品信息 -->
                    <div style="margin-bottom: 20px;">
                        <div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
                            <span style="color: var(--text-secondary);">商品编号</span>
                            <span>SN8964527</span>
                        </div>
                        <div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
                            <span style="color: var(--text-secondary);">库存</span>
                            <span>仅剩 42 件</span>
                        </div>
                        <div style="display: flex; justify-content: space-between;">
                            <span style="color: var(--text-secondary);">运费</span>
                            <span>免运费</span>
                        </div>
                    </div>

                    <!-- 服务保障 -->
                    <div style="display: flex; gap: 20px; padding: 15px; background: var(--background-color); border-radius: 4px; margin-bottom: 20px;">
                        <div style="display: flex; align-items: center;">
                            <i class="bi bi-shield-check" style="color: var(--success-color); margin-right: 5px;"></i>
                            正品保证
                        </div>
                        <div style="display: flex; align-items: center;">
                            <i class="bi bi-arrow-repeat" style="color: var(--primary-color); margin-right: 5px;"></i>
                            七天退换
                        </div>
                        <div style="display: flex; align-items: center;">
                            <i class="bi bi-lightning" style="color: var(--warning-color); margin-right: 5px;"></i>
                            极速发货
                        </div>
                    </div>

                    <!-- 按钮组 -->
                    <div style="display: flex; gap: 15px; margin-top: auto;">
                        <button class="my-button my-button--large" style="flex: 1;">
                            <i class="bi bi-cart-plus"></i> 加入购物车
                        </button>
                        <button class="my-button my-button--large my-button--primary" style="flex: 1;">
                            立即购买
                        </button>
                    </div>
                </div>
            </div>

            <!-- 商品详情多图展示卡片(横向滚动) -->
            <div class="my-card" style="margin-top: 20px;">
                <div class="my-card__header">
                    <div class="my-card__title">商品详情</div>
                </div>
                <div class="my-card__body" style="padding: 0;">
                    <!-- 选项卡 -->
                    <div style="display: flex; border-bottom: 1px solid var(--border-color-light);">
                        <div style="padding: 15px 30px; border-bottom: 2px solid var(--primary-color); color: var(--primary-color); cursor: pointer;">
                            商品详情
                        </div>
                        <div style="padding: 15px 30px; cursor: pointer;">
                            规格参数
                        </div>
                        <div style="padding: 15px 30px; cursor: pointer;">
                            用户评价(2.1万+)
                        </div>
                    </div>
                    
                    <!-- 图片展示区 -->
                    <div style="padding: 20px;">
                        <img src="https://picsum.photos/800/600" style="width: 100%; margin-bottom: 20px;" alt="详情图1">
                        <img src="https://picsum.photos/800/601" style="width: 100%; margin-bottom: 20px;" alt="详情图2">
                        <img src="https://picsum.photos/800/602" style="width: 100%;" alt="详情图3">
                    </div>
                </div>
            </div>

            <!-- 商品推荐卡片组 -->
            <div class="my-card" style="margin-top: 20px;">
                <div class="my-card__header">
                    <div class="my-card__title">相关推荐</div>
                </div>
                <div class="my-card__body" style="padding: 20px;">
                    <div style="display: flex; gap: 20px; overflow-x: auto; padding-bottom: 10px;">
                        <!-- 推荐商品1 -->
                        <div style="min-width: 200px; background: var(--background-color-light); border-radius: 4px; overflow: hidden;">
                            <img src="https://picsum.photos/201/201" style="width: 100%; height: 150px; object-fit: cover;" alt="推荐商品1">
                            <div style="padding: 10px;">
                                <div style="font-size: 14px; margin-bottom: 5px;">轻便跑步鞋</div>
                                <div style="color: var(--danger-color); font-weight: bold;">¥599</div>
                            </div>
                        </div>
                        
                        <!-- 推荐商品2 -->
                        <div style="min-width: 200px; background: var(--background-color-light); border-radius: 4px; overflow: hidden;">
                            <img src="https://picsum.photos/202/202" style="width: 100%; height: 150px; object-fit: cover;" alt="推荐商品2">
                            <div style="padding: 10px;">
                                <div style="font-size: 14px; margin-bottom: 5px;">休闲板鞋</div>
                                <div style="color: var(--danger-color); font-weight: bold;">¥459</div>
                            </div>
                        </div>
                        
                        <!-- 推荐商品3 -->
                        <div style="min-width: 200px; background: var(--background-color-light); border-radius: 4px; overflow: hidden;">
                            <img src="https://picsum.photos/203/203" style="width: 100%; height: 150px; object-fit: cover;" alt="推荐商品3">
                            <div style="padding: 10px;">
                                <div style="font-size: 14px; margin-bottom: 5px;">商务皮鞋</div>
                                <div style="color: var(--danger-color); font-weight: bold;">¥799</div>
                            </div>
                        </div>
                        
                        <!-- 推荐商品4 -->
                        <div style="min-width: 200px; background: var(--background-color-light); border-radius: 4px; overflow: hidden;">
                            <img src="https://picsum.photos/204/204" style="width: 100%; height: 150px; object-fit: cover;" alt="推荐商品4">
                            <div style="padding: 10px;">
                                <div style="font-size: 14px; margin-bottom: 5px;">运动凉鞋</div>
                                <div style="color: var(--danger-color); font-weight: bold;">¥299</div>
                            </div>
                        </div>
                        
                        <!-- 推荐商品5 -->
                        <div style="min-width: 200px; background: var(--background-color-light); border-radius: 4px; overflow: hidden;">
                            <img src="https://picsum.photos/205/205" style="width: 100%; height: 150px; object-fit: cover;" alt="推荐商品5">
                            <div style="padding: 10px;">
                                <div style="font-size: 14px; margin-bottom: 5px;">帆布鞋</div>
                                <div style="color: var(--danger-color); font-weight: bold;">¥199</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html> 

styles\base.css

:root {
  /* 主题色 */
  --primary-color: #409eff;
  --success-color: #67c23a;
  --warning-color: #e6a23c;
  --danger-color: #f56c6c;
  --info-color: #909399;

  /* 文字颜色 */
  --text-primary: #303133;
  --text-regular: #606266;
  --text-secondary: #909399;
  --text-placeholder: #c0c4cc;

  /* 边框颜色 */
  --border-color: #dcdfe6;
  --border-color-light: #e4e7ed;
  --border-color-lighter: #ebeef5;

  /* 背景颜色 */
  --background-color: #ffffff;
  --background-color-light: #f5f7fa;
}

/* 基础样式重置 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  font-size: 14px;
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
} 

styles\button.css

.my-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  height: 32px;
  white-space: nowrap;
  cursor: pointer;
  color: var(--text-regular);
  text-align: center;
  box-sizing: border-box;
  outline: none;
  transition: .1s;
  font-weight: 500;
  padding: 8px 15px;
  font-size: 14px;
  border-radius: 4px;
  border: 1px solid var(--border-color);
  background-color: var(--background-color);
}

.my-button:hover {
  color: var(--primary-color);
  border-color: var(--primary-color);
  background-color: var(--background-color-light);
}

/* 主要按钮 */
.my-button--primary {
  color: #fff;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.my-button--primary:hover {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
  opacity: 0.8;
}

/* 成功按钮 */
.my-button--success {
  color: #fff;
  background-color: var(--success-color);
  border-color: var(--success-color);
}

.my-button--success:hover {
  background: var(--success-color);
  border-color: var(--success-color);
  color: #fff;
  opacity: 0.8;
}

/* 警告按钮 */
.my-button--warning {
  color: #fff;
  background-color: var(--warning-color);
  border-color: var(--warning-color);
}

.my-button--warning:hover {
  background: var(--warning-color);
  border-color: var(--warning-color);
  color: #fff;
  opacity: 0.8;
}

/* 危险按钮 */
.my-button--danger {
  color: #fff;
  background-color: var(--danger-color);
  border-color: var(--danger-color);
}

.my-button--danger:hover {
  background: var(--danger-color);
  border-color: var(--danger-color);
  color: #fff;
  opacity: 0.8;
}

/* 禁用状态 */
.my-button.is-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* 按钮尺寸 */
.my-button--large {
  height: 40px;
  padding: 12px 19px;
  font-size: 14px;
}

.my-button--small {
  height: 24px;
  padding: 5px 11px;
  font-size: 12px;
}

/* 圆角按钮 */
.my-button--round {
  border-radius: 20px;
}

/* 按钮组样式 */
.my-button-group {
    display: inline-flex;
    vertical-align: middle;
}

/* 按钮组中的按钮样式 */
.my-button-group .my-button {
    position: relative;
    margin: 0;
    border-radius: 0;
}

/* 移除相邻按钮之间的边框重叠 */
.my-button-group .my-button:not(:first-child) {
    margin-left: -1px;
}

/* 第一个按钮的圆角 */
.my-button-group .my-button:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

/* 最后一个按钮的圆角 */
.my-button-group .my-button:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* 悬浮时提升层级,避免边框被遮挡 */
.my-button-group .my-button:hover {
    z-index: 1;
}

/* 圆角按钮组 */
.my-button-group--round .my-button:first-child {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.my-button-group--round .my-button:last-child {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

/* 垂直按钮组 */
.my-button-group--vertical {
    display: inline-flex;
    flex-direction: column;
    vertical-align: middle;
}

.my-button-group--vertical .my-button {
    margin: 0;
    border-radius: 0;
}

.my-button-group--vertical .my-button:not(:first-child) {
    margin-top: -1px;
    margin-left: 0;
}

.my-button-group--vertical .my-button:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.my-button-group--vertical .my-button:last-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* 按钮组中的图标样式 */
.my-button-group .my-button i {
    font-size: 14px;
    vertical-align: middle;
}

.my-button-group .my-button i:first-child:not(:last-child) {
    margin-right: 5px;
}

.my-button-group .my-button i:last-child:not(:first-child) {
    margin-left: 5px;
} 

styles\card.css

.my-card {
  border-radius: 4px;
  border: 1px solid var(--border-color-light);
  background-color: var(--background-color);
  overflow: hidden;
  color: var(--text-regular);
  transition: .3s;
}

.my-card:hover {
  box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
}

.my-card__header {
  padding: 18px 20px;
  border-bottom: 1px solid var(--border-color-light);
  box-sizing: border-box;
}

.my-card__title {
  font-size: 16px;
  font-weight: bold;
  color: var(--text-primary);
  line-height: 1.5;
}

.my-card__body {
  padding: 20px;
}

/* 无边框卡片 */
.my-card--borderless {
  border: none;
  box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
}

/* 简单卡片 */
.my-card--simple {
  border: none;
}

/* 悬浮效果增强 */
.my-card--hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
} 

styles\datepicker.css

styles\dialog.css

不能动了,去下载吧。。。


http://www.kler.cn/a/471056.html

相关文章:

  • 更换WordPress主题的基础知识及注意事项
  • HTML+CSS+JS制作中华传统文化主题网站(内附源码,含5个页面)
  • 面试经典150题——链表(二)
  • 安卓NDK视觉开发——手机拍照文档边缘检测实现方法与库封装
  • C# 设计模式(结构型模式):外观模式
  • github开源链游详细搭建文档
  • Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)
  • ubuntu开机启动服务
  • INT305 Machine Learning
  • Docker Compose 启动 Harbor 并指定网络
  • Power BI如何连接Azure Databricks数据源?
  • 什么是Lua协同程序?和线程有什么区别?
  • vue.js sync修饰符
  • STM32拓展 低功耗案例1:睡眠模式 (hal)
  • 【学习笔记】数据结构(十)
  • NLP三大特征抽取器(CNN/RNN/TF)
  • 【Uniapp-Vue3】navigator路由与页面跳转
  • Elasticsearch与数据库数据一致性:最佳实践与解决方案
  • 基于大数据爬虫+Python+数据可视化大屏的慧游数据爬虫与推荐分析系统(源码+论文+PPT+部署文档教程等)
  • Linux 安装 meilisearch
  • NUTTX移植到STM32
  • c#使用SevenZipSharp实现压缩文件和目录
  • Appium(一)--- 环境搭建
  • 【简博士统计学习方法】1. 统计学习的定义与分类
  • Functions
  • CANN 学习——基于香橙派 KunpengPro(1)