Skip to content

coowinit/responsive-review-grid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

响应式评论卡片页面

一个适合展示 用户评价 + 品牌回复 的前端静态页面示例。

这个项目以“评论列表页”为核心场景,重点解决了多列卡片布局、移动端单列适配、本地资源化、评分星标自动渲染、品牌回复区分层展示等问题。页面无需依赖构建工具,直接打开 index.html 即可预览,也适合作为后续接入真实数据、后台接口或 CMS 的前端基础模板。

在线预览效果

当前仓库使用本地静态文件结构,下载后直接打开 index.html 即可查看。

项目截图

项目预览

使用场景

这个页面适合用于以下场景:

  • 产品官网的用户评价展示页
  • SaaS / 工具类产品的口碑模块
  • 品牌官网中的“用户反馈”或“案例评价”页面
  • 第三方平台评价聚合后的自定义展示页
  • 后续接入 WordPress、企业官网后台或 Headless CMS 的前端模板

技术栈

  • HTML5:页面语义结构与内容组织
  • CSS3:响应式布局、卡片样式、评分样式、状态区分
  • 原生 JavaScript:自动渲染评分星标,无需依赖第三方库
  • SVG:本地图标资源与星标绘制,避免字符星级带来的兼容与视觉问题

当前版本已经去掉 Bootstrap 依赖,改为纯静态本地资源,更适合直接上传到 GitHub、静态托管平台或集成到现有项目中。

代码亮点

1. 评分星标自动渲染

页面中的评分不再写死为 ★★★★★ 这类字符,而是统一使用:

<div class="stars" data-rating="4.6" data-label="综合评分 4.6 分(满分 5 分)"></div>

由本地 app.js 自动完成渲染,支持:

  • 整星
  • 空心星
  • 小数星

当前实现采用了更稳定的“双层叠加”方式:

  • 底层渲染 5 个空心星
  • 上层渲染 5 个实心星
  • 通过整体宽度裁切得到 4.23.54.6 这类小数评分效果

这种方案比逐颗裁切更稳定,在本地 file:// 环境下也更容易兼容。

2. 完整的响应式布局

页面遵循“桌面多列、移动端单列”的设计原则:

  • 桌面端:4 列评论卡片
  • 平板端:2 列
  • 手机端:1 列

适合评论类内容的连续阅读,也方便后续接入分页、筛选或无限滚动。

3. 本地资源化,开箱即用

项目中的核心资源都已经本地化:

  • styles.css
  • app.js
  • brand-logo.svg
  • 页面内部内嵌 SVG 星标定义

这意味着:

  • 不依赖 CDN
  • 不依赖打包工具
  • 本地直接打开即可预览
  • 更适合 GitHub 仓库归档和二次开发

4. 信息层级清晰

每张评论卡片包含固定的信息层级:

  1. 评分 + 日期
  2. 评论摘要
  3. 评论作者
  4. 官方回复区(可选)
  5. 品牌身份与回复日期

这种结构便于视觉扫描,也适合后续数据驱动渲染。

5. 适合后续改造成数据驱动页面

当前已经把评分抽象成组件式写法,后续继续改造时可以很自然地扩展为:

  • 从本地 JSON 渲染评论
  • 从接口获取评论列表
  • 接入搜索、筛选、分页
  • 接入真实后台管理系统

目录结构

review-page-fixed/
├─ index.html
├─ README.md
└─ assets/
   ├─ css/
   │  └─ styles.css
   ├─ js/
   │  └─ app.js
   ├─ icons/
   │  └─ brand-logo.svg
   └─ images/
      └─ preview.png

本地使用

方式一:直接打开

下载项目后,直接双击 index.html 即可预览页面。

方式二:使用本地服务器

如果你后续要继续扩展交互或接入 JSON 数据,建议使用本地服务器打开,例如:

python -m http.server 8000

然后访问本地地址进行预览。

可修改内容

你可以优先从这些位置开始改:

页面文案

  • index.html

页面样式

  • assets/css/styles.css

评分渲染逻辑

  • assets/js/app.js

品牌图标

  • assets/icons/brand-logo.svg

适合继续扩展的方向

1. 数据驱动渲染

将当前写在 HTML 里的评论数据抽成一个数组,例如:

const reviews = [
  {
    rating: 4.6,
    date: '2025-04-29',
    title: '整体体验流畅,首页信息密度适中……',
    author: '海边散步的人',
    reply: '感谢你的认可……'
  }
]

然后由 JavaScript 循环生成评论卡片,这样更利于维护,也更适合接接口。

2. 搜索、筛选与排序真正可用

当前页面已经有筛选区 UI,后续可以继续补充:

  • 按关键词搜索
  • 按评分筛选
  • 按日期排序
  • 只查看有回复评论

3. 分页 / 懒加载 / 加载更多

适合真实评论列表页:

  • 分页器
  • 无限滚动
  • “加载更多”异步加载数据

4. 评论展开 / 收起

对长评论增加:

  • 展开全文
  • 收起内容
  • 文本折叠动画

5. 深色模式

可以基于 CSS 变量增加:

  • Light / Dark 双主题
  • 系统主题自动跟随

WordPress 方向的扩展建议

这个页面很适合往 WordPress 方向继续扩展,常见方案包括:

方案 A:作为主题模板页面

适合企业官网或品牌官网。

可以将当前页面拆成:

  • page-reviews.php
  • 独立样式文件
  • 独立脚本文件

然后由 WordPress 后台管理评论内容或通过自定义字段输出。

方案 B:封装成 Gutenberg 区块

适合可视化编辑场景。

可以把页面拆成多个区块:

  • 顶部评分总览区块
  • 评论列表区块
  • 单条评论卡片区块
  • 官方回复区块

优点是编辑体验更好,运营同学可直接在后台调整内容。

方案 C:做成 Shortcode / 小插件

适合快速嵌入现有站点。

例如:

[review_grid source="local" limit="8" show_reply="true"]

这样可以快速插入到文章页、落地页或产品页中。

方案 D:对接 WordPress REST API

适合前后端分离或半分离改造。

评论数据可以来自:

  • WordPress 自定义文章类型(CPT)
  • ACF 字段
  • 外部评价接口同步到 WP
  • 自定义 REST API 输出

前端则继续使用当前这套卡片结构进行渲染。

为什么适合放到 GitHub

这个项目有几个很适合作为 GitHub 前端小项目展示的特点:

  • 结构清晰,便于阅读
  • 视觉完成度高
  • 有明确的业务场景
  • 不是纯样式练习,而是接近真实产品页面
  • 有后续扩展空间,便于持续迭代

如果你把它继续升级为“数据驱动 + 可筛选 + 可分页 + 可接 CMS”的版本,会非常适合作为作品集项目。

后续计划建议

可以按下面这个顺序继续演进:

  1. 评论数据抽成 JSON
  2. 用 JS 自动渲染卡片
  3. 接入搜索与排序
  4. 增加分页/加载更多
  5. 抽离成可复用组件
  6. 尝试接入 WordPress / REST API

License

可按你的需要自行补充,例如 MIT。

About

这是一个响应式评论展示页面示例项目,使用 HTML、CSS 和原生 JavaScript 构建。项目支持手机端单列展示、桌面端多列布局、自动渲染整星/空心星/小数星,并采用本地静态资源组织方式,适合展示型页面、品牌口碑页、SaaS 产品评价页或后续改造成 WordPress 模板。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors