Skip to content

About

基于 CSS Grid 和 Flexbox 的响应式文章卡片布局,支持自动等高、作者底部对齐及多设备自适应,无 JavaScript 依赖。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Responsive Article Grid

基于原生 HTML 与 CSS 的轻量级响应式文章卡片网格组件,适用于技术博客、企业新闻、产品更新日志及其他内容列表页面。

当前版本:v0.1.0 · 技术栈:HTML5 / CSS Grid / Flexbox / CSS Media Queries · 零 JavaScript、零框架依赖

一、项目介绍

Responsive Article Grid 是一个专注于内容展示布局的前端示例项目。它使用 CSS Grid 实现响应式网格及同行卡片自动等高,使用 Flexbox 将作者信息稳定地排列在卡片底部。

本项目以简洁、易复用、易维护为原则:不开启复杂的交互逻辑,不绑定特定框架或 CMS,可直接复制到普通 HTML 网站,也可以作为 WordPress 主题中动态文章列表的样式基础。

项目边界: 它是一个静态布局演示组件,不是完整博客系统、WordPress 插件或内容管理后台。

二、适用场景

场景 推荐用法
技术博客 / 开发者博客 展示文章标题、摘要、分类、时间及作者
产品更新日志(Changelog) 展示版本发布记录、升级指南和功能公告
企业新闻 / 行业资讯 作为新闻列表、公司动态或媒体报道的卡片样式
教程与知识库 展示使用指南、文档条目和学习资源
WordPress 主题 将静态卡片结构改成文章循环,由 WordPress 输出内容
前端布局学习 理解 Grid 同行等高、Flexbox 自动推底与响应式断点

对于需要图片瀑布流、复杂筛选或实时加载数据的页面,本项目不是现成的完整解决方案。

三、已实现功能(v0.1.0)

  • 响应式列数: 桌面端 3 列、平板端 2 列、手机端 1 列。
  • 同行卡片等高: Grid 默认拉伸同一行卡片,不强制不同行保持等高。
  • 作者底部对齐: Flexbox 配合 margin-top: auto,适应不同长度的标题与摘要。
  • 清晰的信息层级: 分类、日期、标题、摘要、作者和头像。
  • 简洁的交互反馈: 卡片边框及标题 Hover 变化、键盘焦点样式。
  • 减少动画适配: 尊重系统 prefers-reduced-motion 偏好。
  • 离线预览: 12 张英文示例卡片及 3 张本地 SVG 占位头像,无需联网。
  • 轻量依赖: 不使用 JavaScript、Bootstrap 或其他第三方库。

响应式规则

视口宽度 列数
≥ 992px 3
768–991px 2
≤ 767px 1

断点来自当前示例的设计选择,并非组件必须遵守的固定标准;集成到其他网站时,可根据页面容器宽度调整。

四、项目结构

responsive-article-grid/
├── index.html                     # 演示页面及示例文章数据
├── assets/
│   ├── css/
│   │   └── article-grid.css       # 布局、视觉样式和响应式规则
│   └── images/
│       └── avatars/
│           ├── fede.svg           # 示例占位头像
│           ├── chris.svg
│           └── xavier.svg
└── README.md

五、快速使用

  1. 下载或克隆仓库。
  2. 在浏览器中直接打开 index.html,无需构建工具或本地服务器。
  3. 复制页面中一个完整的 <article class="article-card">…</article>,并将它放入 .article-grid 容器。
  4. 替换分类、日期、标题、摘要、作者、头像和文章链接。
  5. 根据站点设计调整 assets/css/article-grid.css 中的颜色、间距、字号和断点。

核心布局代码:

.article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.article-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.article-card__author {
  margin-top: auto;
}

布局原理: 外部 Grid 负责列数与同行等高,内部 Flexbox 负责内容纵向排列,margin-top: auto 将作者信息推至底部。无需 JS 计算卡片高度。

集成到现有网站

  • 普通 HTML 网站: 复制 .article-grid 和 .article-card 结构,并引入样式文件。
  • Bootstrap 5 网站: 可继续使用组件自己的 Grid,避免重复控制列数;如果改用 Bootstrap 栅格,请检查容器和间距是否与现有样式冲突。
  • WordPress 经典主题: 用 WP_Query 或主题文章循环动态输出卡片内容;样式层继续复用,不需要将静态示例改造成插件。
  • Gutenberg 内容页面: 可将结构改写为适用的区块或 Pattern,但需单独检查编辑器与前台的样式一致性。

六、自定义与维护要点

主要调整位置在 assets/css/article-grid.css:

需要修改 相关选择器 / 变量
网格列数、间距 .article-grid
卡片内边距、圆角、边框 .article-card、--card-radius、--card-border
标题字号、行高 .article-card__title
摘要字号、行高 .article-card__excerpt
作者位置及间距 .article-card__author
移动端布局 CSS @media 规则
颜色主题 :root 中的 CSS 自定义属性

维护时优先遵守以下约束:

  1. 先保证内容可读。 默认不固定卡片高度、不强制截断标题或摘要;如果业务需要截断,应单独验证多语言与窄屏表现。
  2. 保留语义化 HTML。 文章使用 <article>,标题使用标题标签,日期使用 <time>;真实文章必须替换示例锚点链接。
  3. 保持键盘可访问。 不删除已有 :focus-visible 样式;若新增整卡可点击行为,避免无效或嵌套的链接结构。
  4. 避免过度封装。 基础布局不需要 JS 高度同步、额外 CSS 框架或复杂构建流程。
  5. 控制样式作用域。 集成现有主题时,保留 article-grid / article-card 类名前缀,避免污染通用元素样式。
  6. 先测试再发布。 特别检查极长标题、空摘要、不同字号、移动端横向溢出,以及作者底部对齐效果。

七、后续扩展路线

以下为研究方向,不是当前版本已完成的功能;按实际需求逐步实施,无需一次全部开发。

阶段 优先级 建议方向
v0.1.x 高 修复兼容性问题、完善文档与测试用例;不改变基础结构
v0.2.x 中 增加可选配色、深色模式或卡片密度方案,保持零 JS 依赖
独立示例 中 提供 WordPress 文章循环示例、Gutenberg Pattern 示例,而非耦合核心组件
需求驱动 低 根据真实项目再评估分页、分类筛选、加载更多等交互能力
v1.0.0 条件成熟后 完成跨设备验证、文档稳定及可复用性评估,再发布稳定版

不建议优先增加: JS 动态等高、复杂视觉动效、依赖型 UI 框架或完整后台管理功能。这些内容会模糊项目的定位,并增加维护成本。

八、测试清单

  • 桌面、平板、手机分别显示 3 / 2 / 1 列
  • 同行不同长度的卡片高度一致
  • 作者信息排列在卡片底部
  • 超长标题和摘要不会撑破容器
  • 键盘 Tab 能访问文章链接并看到焦点状态
  • 减少动画偏好下不产生不必要的过渡效果
  • 本地头像正常显示,无外部网络依赖
  • 集成到目标站点后,真实链接和动态数据正确输出

九、说明

  • 示例标题链接使用 #article-xx 页面内锚点,仅用于布局演示,不是有效的文章详情链接。
  • 部分演示文本参考了文章卡片布局截图,其他为模拟内容,不代表相关产品的真实更新公告。
  • 本地 SVG 头像仅为占位图,并非对应作者的真实照片。
  • 任何具体 WordPress 集成代码、分页及内容筛选能力,均应在独立示例或后续版本中实现。

这个仓库的长期目标是保留一套简洁、稳定、可移植的文章卡片布局基础组件:需要时能直接复用,出现问题时容易理解、定位与维护。

About

基于 CSS Grid 和 Flexbox 的响应式文章卡片布局,支持自动等高、作者底部对齐及多设备自适应,无 JavaScript 依赖。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages