模板特点

  1. 现代美观: 使用了简洁的卡片式设计和柔和的配色方案。
  2. 响应式布局: 基于Bootstrap 5框架,确保在PC、平板和手机上都有不错的浏览体验。
  3. 功能完整: 包含了论坛最核心的静态页面元素,可以直接用作原型或开发基础。
  4. 代码清晰: HTML结构、CSS样式和少量JavaScript交互逻辑分离,易于理解和修改。
  5. 图标丰富: 使用了Font Awesome图标库,让界面更生动。

如何使用

  1. 创建文件: 创建一个名为 index.html 的文件。
  2. 复制代码: 将下面的所有代码复制并粘贴到 index.html 文件中。
  3. 本地打开: 直接用浏览器打开这个 index.html 文件,即可看到效果。

完整代码 (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>
    <!-- Bootstrap 5 CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Font Awesome 图标库 -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
    <style>
        :root {
            --primary-color: #0d6efd;
            --secondary-color: #6c757d;
            --light-bg: #f8f9fa;
            --border-color: #dee2e6;
        }
        body {
            background-color: var(--light-bg);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        }
        /* 顶部导航栏样式 */
        .navbar {
            box-shadow: 0 2px 4px rgba(0,0,0,.08);
        }
        .navbar-brand {
            font-weight: bold;
            font-size: 1.5rem;
        }
        .navbar .nav-link {
            color: var(--secondary-color);
            margin: 0 0.5rem;
            transition: color 0.2s;
        }
        .navbar .nav-link:hover, .navbar .nav-link.active {
            color: var(--primary-color);
        }
        /* 用户信息区样式 */
        .user-info {
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 0 15px rgba(0,0,0,0.05);
            padding: 1.5rem;
            margin-bottom: 2rem;
        }
        .user-avatar {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            object-fit: cover;
        }
        .user-stats .stat-item {
            text-align: center;
            padding: 0 1rem;
        }
        .user-stats .stat-number {
            font-size: 1.5rem;
            font-weight: bold;
            color: var(--primary-color);
        }
        /* 板块列表样式 */
        .forum-section {
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 0 15px rgba(0,0,0,0.05);
            padding: 1.5rem;
            margin-bottom: 2rem;
        }
        .forum-section-header {
            border-bottom: 1px solid var(--border-color);
            padding-bottom: 1rem;
            margin-bottom: 1.5rem;
        }
        .forum-section-title {
            font-size: 1.25rem;
            font-weight: bold;
            margin-bottom: 0;
        }
        .forum-item {
            padding: 1rem 0;
            border-bottom: 1px solid var(--border-color);
            transition: background-color 0.2s;
        }
        .forum-item:last-child {
            border-bottom: none;
        }
        .forum-item:hover {
            background-color: rgba(13, 110, 253, 0.05);
        }
        .forum-icon {
            font-size: 2rem;
            color: var(--primary-color);
            margin-right: 1rem;
        }
        .forum-info h5 {
            font-size: 1.1rem;
            margin-bottom: 0.25rem;
        }
        .forum-meta {
            font-size: 0.875rem;
            color: var(--secondary-color);
        }
        .forum-stats {
            text-align: right;
        }
        .forum-stats .stat {
            display: block;
            font-size: 0.875rem;
            color: var(--secondary-color);
        }
        /* 发帖按钮样式 */
        .btn-post {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
            border-radius: 20px;
            padding: 0.5rem 1.5rem;
            font-weight: 500;
            transition: all 0.2s;
        }
        .btn-post:hover {
            background-color: #0b5ed7;
            border-color: #0a58ca;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(13, 110, 253, 0.3);
        }
        /* 帖子列表样式 */
        .post-item {
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 0 15px rgba(0,0,0,0.05);
            padding: 1.5rem;
            margin-bottom: 1rem;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .post-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }
        .post-title {
            font-size: 1.1rem;
            font-weight: 500;
            margin-bottom: 0.5rem;
        }
        .post-title a {
            color: #212529;
            text-decoration: none;
            transition: color 0.2s;
        }
        .post-title a:hover {
            color: var(--primary-color);
        }
        .post-meta {
            font-size: 0.875rem;
            color: var(--secondary-color);
        }
        .post-meta a {
            color: var(--secondary-color);
            text-decoration: none;
        }
        .post-meta a:hover {
            color: var(--primary-color);
            text-decoration: underline;
        }
        .post-tags {
            margin-top: 0.75rem;
        }
        .post-tags .badge {
            background-color: var(--light-bg);
            color: var(--secondary-color);
            padding: 0.35em 0.65em;
            font-size: 0.75rem;
            margin-right: 0.5rem;
        }
    </style>
</head>
<body>
<!-- 顶部导航栏 -->
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top">
    <div class="container">
        <a class="navbar-brand" href="#">
            <i class="fas fa-rocket"></i> 极客社区
        </a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNav">
            <ul class="navbar-nav me-auto">
                <li class="nav-item">
                    <a class="nav-link active" href="#"><i class="fas fa-home"></i> 首页</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#"><i class="fas fa-fire"></i> 热门</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#"><i class="fas fa-compass"></i> 发现</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#"><i class="fas fa-bookmark"></i> 收藏</a>
                </li>
            </ul>
            <div class="d-flex">
                <a href="#" class="btn btn-primary btn-post me-2">
                    <i class="fas fa-plus"></i> 发布
                </a>
                <div class="dropdown">
                    <a href="#" class="d-flex align-items-center text-decoration-none dropdown-toggle" id="dropdownMenuLink" data-bs-toggle="dropdown">
                        <img src="https://i.pravatar.cc/150?img=58" alt="用户头像" class="rounded-circle me-2" width="32" height="32">
                        <span>张三</span>
                    </a>
                    <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuLink">
                        <li><a class="dropdown-item" href="#"><i class="fas fa-user"></i> 个人主页</a></li>
                        <li><a class="dropdown-item" href="#"><i class="fas fa-cog"></i> 设置</a></li>
                        <li><hr class="dropdown-divider"></li>
                        <li><a class="dropdown-item" href="#"><i class="fas fa-sign-out-alt"></i> 退出登录</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</nav>
<!-- 主要内容区 -->
<main class="container my-4">
    <div class="row">
        <!-- 左侧内容区 -->
        <div class="col-lg-9">
            <!-- 板块列表 -->
            <section class="forum-section">
                <div class="forum-section-header">
                    <h2 class="forum-section-title">技术板块</h2>
                </div>
                <div class="forum-list">
                    <div class="forum-item">
                        <div class="row align-items-center">
                            <div class="col-auto">
                                <i class="fas fa-code forum-icon"></i>
                            </div>
                            <div class="col">
                                <div class="forum-info">
                                    <h5><a href="#">前端开发</a></h5>
                                    <div class="forum-meta">
                                        <span>版主:李四</span> | 
                                        <span>主题:1.2k</span> | 
                                        <span>帖子:5.8k</span>
                                    </div>
                                </div>
                            </div>
                            <div class="col-auto forum-stats">
                                <span class="stat">最后发表:王五 · 10分钟前</span>
                            </div>
                        </div>
                    </div>
                    <div class="forum-item">
                        <div class="row align-items-center">
                            <div class="col-auto">
                                <i class="fas fa-server forum-icon"></i>
                            </div>
                            <div class="col">
                                <div class="forum-info">
                                    <h5><a href="#">后端开发</a></h5>
                                    <div class="forum-meta">
                                        <span>版主:赵六</span> | 
                                        <span>主题:980</span> | 
                                        <span>帖子:4.5k</span>
                                    </div>
                                </div>
                            </div>
                            <div class="col-auto forum-stats">
                                <span class="stat">最后发表:钱七 · 1小时前</span>
                            </div>
                        </div>
                    </div>
                    <div class="forum-item">
                        <div class="row align-items-center">
                            <div class="col-auto">
                                <i class="fas fa-mobile-alt forum-icon"></i>
                            </div>
                            <div class="col">
                                <div class="forum-info">
                                    <h5><a href="#">移动开发</a></h5>
                                    <div class="forum-meta">
                                        <span>版主:孙八</span> | 
                                        <span>主题:750</span> | 
                                        <span>帖子:3.2k</span>
                                    </div>
                                </div>
                            </div>
                            <div class="col-auto forum-stats">
                                <span class="stat">最后发表:周九 · 2小时前</span>
                            </div>
                        </div>
                    </div>
                </div>
            </section>
            <!-- 帖子列表 -->
            <section class="forum-section">
                <div class="forum-section-header d-flex justify-content-between align-items-center">
                    <h2 class="forum-section-title mb-0">最新帖子</h2>
                    <div>
                        <select class="form-select form-select-sm d-inline-block w-auto">
                            <option selected>按最新排序</option>
                            <option>按热门排序</option>
                            <option>按回复排序</option>
                        </select>
                    </div>
                </div>
                <div class="post-list">
                    <article class="post-item">
                        <h3 class="post-title">
                            <a href="#">分享一个我最近在用的VS Code插件,让开发效率提升50%!</a>
                        </h3>
                        <div class="post-meta">
                            <a href="#">前端开发</a> · 
                            <a href="#">张三</a> · 
                            <i class="far fa-clock"></i> 15分钟前 · 
                            <i class="far fa-comment"></i> 23 回复 · 
                            <i class="far fa-eye"></i> 156 浏览
                        </div>
                        <div class="post-tags">
                            <span class="badge">VS Code</span>
                            <span class="badge">效率</span>
                            <span class="badge">插件</span>
                        </div>
                    </article>
                    <article class="post-item">
                        <h3 class="post-title">
                            <a href="#">请教:Spring Boot整合MyBatis-Plus时,如何优雅地进行分页查询?</a>
                        </h3>
                        <div class="post-meta">
                            <a href="#">后端开发</a> · 
                            <a href="#">李四</a> · 
                            <i class="far fa-clock"></i> 1小时前 · 
                            <i class="far fa-comment"></i> 15 回复 · 
                            <i class="far fa-eye"></i> 89 浏览
                        </div>
                        <div class="post-tags">
                            <span class="badge">Spring Boot</span>
                            <span class="badge">MyBatis-Plus</span>
                            <span class="badge">分页</span>
                        </div>
                    </article>
                    <article class="post-item">
                        <h3 class="post-title">
                            <a href="#">【已解决】React 18 中,useEffect 的执行时机有变化吗?</a>
                        </h3>
                        <div class="post-meta">
                            <a href="#">前端开发</a> · 
                            <a href="#">王五</a> · 
                            <i class="far fa-clock"></i> 3小时前 · 
                            <i class="far fa-comment"></i> 8 回复 · 
                            <i class="far fa-eye"></i> 201 浏览
                        </div>
                        <div class="post-tags">
                            <span class="badge">React</span>
                            <span class="badge">useEffect</span>
                            <span class="badge">React 18</span>
                        </div>
                    </article>
                </div>
            </section>
        </div>
        <!-- 右侧边栏 -->
        <div class="col-lg-3">
            <!-- 用户信息 -->
            <div class="user-info">
                <div class="d-flex align-items-center mb-3">
                    <img src="https://i.pravatar.cc/150?img=58" alt="用户头像" class="user-avatar me-3">
                    <div>
                        <h5 class="mb-0">欢迎回来,张三</h5>
                        <small class="text-muted">初级会员</small>
                    </div>
                </div>
                <div class="user-stats d-flex justify-content-around">
                    <div class="stat-item">
                        <div class="stat-number">12</div>
                        <div class="stat-label">主题</div>
                    </div>
                    <div class="stat-item">
                        <div class="stat-number">128</div>
                        <div class="stat-label">回复</div>
                    </div>
                    <div class="stat-item">
                        <div class="stat-number">560</div>
                        <div class="stat-label">获赞</div>
                    </div>
                </div>
            </div>
            <!-- 热门标签 -->
            <div class="forum-section">
                <h5 class="mb-3"><i class="fas fa-fire"></i> 热门标签</h5>
                <div class="d-flex flex-wrap">
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">JavaScript</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">Python</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">Java</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">Vue.js</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">Docker</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">算法</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">面试</a>
                    <a href="#" class="badge bg-light text-dark text-decoration-none m-1">Git</a>
                </div>
            </div>
            <!-- 友情链接 -->
            <div class="forum-section">
                <h5 class="mb-3"><i class="fas fa-link"></i> 友情链接</h5>
                <ul class="list-unstyled">
                    <li><a href="#" class="text-decoration-none text-dark">GitHub</a></li>
                    <li><a href="#" class="text-decoration-none text-dark">Stack Overflow</a></li>
                    <li><a href="#" class="text-decoration-none text-dark">掘金</a></li>
                    <li><a href="#" class="text-decoration-none text-dark">InfoQ</a></li>
                </ul>
            </div>
        </div>
    </div>
</main>
<!-- Bootstrap 5 JS Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

模块说明

  1. 顶部导航栏

    • 包含Logo、主导航链接(首页、热门、发现、收藏)。
    • 右侧有“发布”按钮和用户头像下拉菜单,方便用户快速发帖和管理账户。
    • 板块列表: 展示论坛的不同技术分区,如“前端开发”、“后端开发”,每个板块都配有图标、名称、版主、主题/帖子数量和最后发表信息。
    • 帖子列表: 展示最新的帖子,每个帖子卡片包含标题、作者、发布时间、回复数、浏览数、所属板块和标签,悬停时有轻微的上浮和阴影效果,提升交互感。
  2. 右侧边栏

    • 用户信息区: 展示当前登录用户的头像、昵称、会员等级和核心数据(主题数、回复数、获赞数)。
    • 热门标签: 以标签云的形式展示当前热门的关键词,方便用户快速找到感兴趣的内容。
    • 友情链接: 提供一些常用或相关的外部链接。

如何扩展和定制

  • 更换主题: 修改 <style> 标签中的 root 变量(如 --primary-color)可以快速更换整个网站的主色调。
  • 添加板块/帖子: 只需复制 <div class="forum-item"><article class="post-item"> 的HTML结构,并修改其中的内容即可。
  • 增加功能: 可以在帖子列表中增加“精华”、“置顶”等标签,或者增加一个“搜索框”到导航栏。
  • 交互逻辑: 目前的模板是静态的,如果需要实现真正的交互(如点击发布按钮弹出模态框),则需要编写JavaScript代码来处理这些事件。

这个模板为您提供了一个非常棒的起点,您可以根据自己的需求进行修改和美化。