1. 纯HTML/CSS/JavaScript实现 - 这是一个完全独立的、轻量级的解决方案,适合快速部署和简单使用。
  2. 使用Bootstrap框架实现 - 这是一个更现代化、功能更丰富的解决方案,提供了更好的样式和交互体验,适合更专业的项目。

纯HTML/CSS/JavaScript实现

这个版本不依赖任何外部框架,代码完全自包含,易于理解和修改。

html折叠新闻网页版本号
(图片来源网络,侵删)

功能特点:

  • 每条新闻都是一个可折叠的区块。
  • 清晰的版本号显示(如 v1.2.1)。
  • 发布日期和作者信息。
  • 平滑的展开/收起动画。
  • 响应式设计,在手机上也能良好显示。

代码实现

您可以直接将以下代码复制到一个 .html 文件中,然后用浏览器打开即可看到效果。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">折叠新闻 - 版本更新日志</title>
    <style>
        /* 基础样式重置和页面布局 */
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            line-height: 1.6;
            background-color: #f4f7f6;
            color: #333;
            margin: 0;
            padding: 20px;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
            background-color: #fff;
            padding: 20px 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }
        h1 {
            text-align: center;
            color: #2c3e50;
            border-bottom: 2px solid #e0e0e0;
            padding-bottom: 10px;
            margin-bottom: 20px;
        }
        /* 新闻条目样式 */
        .news-item {
            border: 1px solid #e0e0e0;
            border-radius: 5px;
            margin-bottom: 15px;
            overflow: hidden; /* 关键:用于折叠动画的容器裁剪 */
        }
        .news-header {
            padding: 15px 20px;
            background-color: #fdfdfd;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background-color 0.3s ease;
        }
        .news-header:hover {
            background-color: #f0f0f0;
        }
        .news-title {
            font-size: 1.1em;
            font-weight: 600;
            color: #34495e;
            margin: 0;
        }
        .news-meta {
            display: flex;
            align-items: center;
            gap: 15px; /* 版本号、日期、作者之间的间距 */
            font-size: 0.9em;
            color: #7f8c8d;
        }
        .version-badge {
            background-color: #3498db;
            color: white;
            padding: 2px 8px;
            border-radius: 12px; /* 椭圆形徽章 */
            font-size: 0.85em;
            font-weight: 500;
        }
        /* 折叠图标 */
        .toggle-icon {
            font-size: 1.2em;
            transition: transform 0.3s ease; /* 图标旋转动画 */
        }
        /* 新闻内容样式 */
        .news-content {
            padding: 0 20px;
            max-height: 0; /* 初始高度为0,实现折叠 */
            overflow: hidden; /* 隐藏超出部分 */
            transition: max-height 0.4s ease-out, padding 0.4s ease-out; /* 高度和内边距的平滑过渡 */
            background-color: #fff;
        }
        .news-content p {
            margin: 15px 0;
            color: #555;
        }
        /* 当新闻条目被展开时 */
        .news-item.active .news-content {
            max-height: 500px; /* 设置一个足够大的值以容纳内容 */
            padding: 0 20px 15px 20px; /* 展开时添加底部内边距 */
        }
        .news-item.active .toggle-icon {
            transform: rotate(180deg); /* 图标旋转180度 */
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>产品更新日志</h1>
        <!-- 新闻条目 1 -->
        <div class="news-item">
            <div class="news-header" onclick="toggleNews(this)">
                <div>
                    <h2 class="news-title">全新用户界面发布,带来更流畅的体验</h2>
                    <div class="news-meta">
                        <span class="version-badge">v2.1.0</span>
                        <span>发布日期: 2025-10-27</span>
                        <span>作者: 张三</span>
                    </div>
                </div>
                <span class="toggle-icon">▼</span>
            </div>
            <div class="news-content">
                <p>我们很高兴地宣布,全新的用户界面(UI)正式发布!这次更新旨在为您提供更直观、更高效的交互体验。</p>
                <p><strong>主要更新内容:</strong></p>
                <ul style="padding-left: 20px;">
                    <li>全新的仪表盘设计,信息展示更清晰。</li>
                    <li>优化了深色模式,支持更多自定义选项。</li>
                    <li>重新设计了导航栏,操作路径更短。</li>
                    <li>整体性能提升了约20%,页面加载速度更快。</li>
                </ul>
            </div>
        </div>
        <!-- 新闻条目 2 -->
        <div class="news-item">
            <div class="news-header" onclick="toggleNews(this)">
                <div>
                    <h2 class="news-title">修复关键性Bug,提升系统稳定性</h2>
                    <div class="news-meta">
                        <span class="version-badge">v2.0.5</span>
                        <span>发布日期: 2025-10-15</span>
                        <span>作者: 李四</span>
                    </div>
                </div>
                <span class="toggle-icon">▼</span>
            </div>
            <div class="news-content">
                <p>本次更新主要修复了在特定网络环境下数据同步失败的问题,并修复了已知的几个安全漏洞,强烈建议所有用户立即更新。</p>
                <p><strong>修复详情:</strong></p>
                <ul style="padding-left: 20px;">
                    <li>修复了因网络波动导致的数据丢失问题。</li>
                    <li>修复了在旧版浏览器上可能出现的样式错乱。</li>
                    <li>增强了后端API的安全性,防止未授权访问。</li>
                </ul>
            </div>
        </div>
        <!-- 新闻条目 3 -->
        <div class="news-item">
            <div class="news-header" onclick="toggleNews(this)">
                <div>
                    <h2 class="news-title">引入智能搜索功能,让您更快找到所需信息</h2>
                    <div class="news-meta">
                        <span class="version-badge">v2.0.0</span>
                        <span>发布日期: 2025-09-01</span>
                        <span>作者: 王五</span>
                    </div>
                </div>
                <span class="toggle-icon">▼</span>
            </div>
            <div class="news-content">
                <p>我们引入了全新的智能搜索引擎,它不仅能帮您快速找到文档,还能理解您的自然语言查询,提供更精准的搜索结果。</p>
                <p><strong>新功能亮点:</strong></p>
                <ul style="padding-left: 20px;">
                    <li>支持模糊搜索和关键词联想。</li>
                    <li>搜索结果支持按相关性、日期、类型排序。</li>
                    <li>可以直接在搜索结果中预览内容片段。</li>
                </ul>
            </div>
        </div>
    </div>
    <script>
        // 切换新闻条目展开/收起状态的函数
        function toggleNews(header) {
            // 找到当前点击的header所在的新闻条目 (news-item)
            const newsItem = header.parentElement;
            // 切换 'active' 类,如果存在则移除,不存在则添加。
            // 这是切换状态的现代、简洁方法。
            newsItem.classList.toggle('active');
            // 另一种更传统的写法 (if/else) 也可以,但上面的 toggle() 更优雅
            /*
            if (newsItem.classList.contains('active')) {
                newsItem.classList.remove('active');
            } else {
                newsItem.classList.add('active');
            }
            */
        }
    </script>
</body>
</html>

使用Bootstrap框架实现

这个版本使用了 Bootstrap 5,一个流行的前端框架,它能让你用更少的代码实现更美观、功能更强大的界面,并且自带了折叠组件(Accordion)。

功能特点:

  • 使用 Bootstrap 的手风琴(Accordion)组件,专业且易于维护。
  • 版本号、日期等信息通过 Bootstrap 的徽章(Badge)组件展示。
  • 自带响应式布局和丰富的工具类。
  • 代码更简洁,组件化思想。

代码实现

注意: 这个版本需要从 CDN 引入 Bootstrap 的 CSS 和 JavaScript 文件。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">折叠新闻 - Bootstrap版本</title>
    <!-- 1. 引入 Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        /* 自定义样式,可以覆盖或补充 Bootstrap 的默认样式 */
        body {
            background-color: #f8f9fa;
            padding-top: 40px;
            padding-bottom: 40px;
        }
        .container {
            max-width: 800px;
        }
        .accordion-button:not(.collapsed) {
            color: #0d6efd;
            background-color: #e7f1ff;
        }
        .version-badge {
            background-color: #0d6efd; /* 使用 Bootstrap 的蓝色 */
        }
        .news-meta {
            font-size: 0.875rem; /* 稍微小一点的字体 */
            color: #6c757d; /* Bootstrap 的次要文本颜色 */
        }
    </style>
</head>
<body>
    <div class="container">
        <h1 class="mb-4 text-center">产品更新日志</h1>
        <!-- 2. 使用 Bootstrap 的 Accordion 组件 -->
        <div class="accordion" id="newsAccordion">
            <!-- 新闻条目 1 -->
            <div class="accordion-item mb-3">
                <h2 class="accordion-header">
                    <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                        <div class="w-100 text-start">
                            <h5 class="mb-1">全新用户界面发布,带来更流畅的体验</h5>
                            <div class="news-meta d-flex justify-content-between align-items-center">
                                <span class="version-badge text-white px-2 py-1 rounded">v2.1.0</span>
                                <span>发布日期: 2025-10-27 | 作者: 张三</span>
                            </div>
                        </div>
                    </button>
                </h2>
                <div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#newsAccordion">
                    <div class="accordion-body">
                        <p>我们很高兴地宣布,全新的用户界面(UI)正式发布!这次更新旨在为您提供更直观、更高效的交互体验。</p>
                        <p><strong>主要更新内容:</strong></p>
                        <ul>
                            <li>全新的仪表盘设计,信息展示更清晰。</li>
                            <li>优化了深色模式,支持更多自定义选项。</li>
                            <li>重新设计了导航栏,操作路径更短。</li>
                            <li>整体性能提升了约20%,页面加载速度更快。</li>
                        </ul>
                    </div>
                </div>
            </div>
            <!-- 新闻条目 2 -->
            <div class="accordion-item mb-3">
                <h2 class="accordion-header">
                    <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                        <div class="w-100 text-start">
                            <h5 class="mb-1">修复关键性Bug,提升系统稳定性</h5>
                            <div class="news-meta d-flex justify-content-between align-items-center">
                                <span class="version-badge text-white px-2 py-1 rounded">v2.0.5</span>
                                <span>发布日期: 2025-10-15 | 作者: 李四</span>
                            </div>
                        </div>
                    </button>
                </h2>
                <div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#newsAccordion">
                    <div class="accordion-body">
                        <p>本次更新主要修复了在特定网络环境下数据同步失败的问题,并修复了已知的几个安全漏洞,强烈建议所有用户立即更新。</p>
                        <p><strong>修复详情:</strong></p>
                        <ul>
                            <li>修复了因网络波动导致的数据丢失问题。</li>
                            <li>修复了在旧版浏览器上可能出现的样式错乱。</li>
                            <li>增强了后端API的安全性,防止未授权访问。</li>
                        </ul>
                    </div>
                </div>
            </div>
            <!-- 新闻条目 3 -->
            <div class="accordion-item">
                <h2 class="accordion-header">
                    <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                        <div class="w-100 text-start">
                            <h5 class="mb-1">引入智能搜索功能,让您更快找到所需信息</h5>
                            <div class="news-meta d-flex justify-content-between align-items-center">
                                <span class="version-badge text-white px-2 py-1 rounded">v2.0.0</span>
                                <span>发布日期: 2025-09-01 | 作者: 王五</span>
                            </div>
                        </div>
                    </button>
                </h2>
                <div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#newsAccordion">
                    <div class="accordion-body">
                        <p>我们引入了全新的智能搜索引擎,它不仅能帮您快速找到文档,还能理解您的自然语言查询,提供更精准的搜索结果。</p>
                        <p><strong>新功能亮点:</strong></p>
                        <ul>
                            <li>支持模糊搜索和关键词联想。</li>
                            <li>搜索结果支持按相关性、日期、类型排序。</li>
                            <li>可以直接在搜索结果中预览内容片段。</li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- 3. 引入 Bootstrap JS (Popper.js 是 Bootstrap 5 的依赖) -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

总结与如何选择

特性 版本一 (原生实现) 版本二 (Bootstrap实现)
依赖 无任何外部依赖 需要 Bootstrap CSS/JS 框架
代码量 相对较多,需要自己写样式和JS逻辑 代码简洁,组件化,易于维护
样式 自定义,灵活可控 现代、专业,但受限于框架样式
交互 需要手动编写JS 使用框架自带组件,功能稳定
学习成本 需要熟悉CSS和JS基础 需要了解Bootstrap的组件和类名
适用场景 简单项目、学习目的、追求轻量级 专业项目、快速开发、追求一致性和美观性

建议:

html折叠新闻网页版本号
(图片来源网络,侵删)
  • 如果您是初学者,或者项目非常简单,不希望引入外部库,版本一是很好的选择。
  • 如果您希望快速构建一个功能完善、外观专业的网页,并且不介意引入一个成熟的框架,版本二是更高效、更推荐的选择。
html折叠新闻网页版本号
(图片来源网络,侵删)