
本文介绍如何利用 css grid 快速将对象数组(如含 subheading 的列配置)以两列等宽布局渲染在页面上,避免传统表格嵌套复杂性,兼顾语义清晰与响应式友好。
本文介绍如何利用 css grid 快速将对象数组(如含 subheading 的列配置)以两列等宽布局渲染在页面上,避免传统表格嵌套复杂性,兼顾语义清晰与响应式友好。
在前端开发中,当需要将一组结构化数据(例如多个带标题的栏目)以紧凑、对齐的双列形式展示时,使用 HTML
并非最优解——它语义上适用于二维关系数据,而此处我们仅需视觉上的“两列排布”。现代 CSS 提供了更简洁、灵活的方案:CSS Grid 布局。✅ 推荐方案:CSS Grid 两列自动流式布局
基于你提供的 columns 数组,目标是将 subHeading 字段("A", "B", "C", "D")按行优先、两列布局渲染,效果为:
A B
C D
只需用 display: grid 配合 grid-template-columns: 1fr 1fr,并配合 map 渲染即可:
<div style="{{" display: gridtemplatecolumns: gap: maxwidth:>
{columns.map((col, index) => (
<div key="{index}" style="{{" textalign: padding: backgroundcolor: borderradius: border: solid>
<h3 style="{{" margin: fontsize:>{col.subHeading}</h3>
<small style="{{" color:>{col.subText.join(", ")}</small>
</div>
))}
</div>
? 关键点说明:
- grid-template-columns: 1fr 1fr 表示创建两个等宽轨道;Grid 自动按行填充(即第 1–2 项占第一行,第 3–4 项占第二行);
- key={index} 是 React 渲染列表的必需项(若 subHeading 唯一,也可用 key={col.subHeading} 更健壮);
- gap 和内边距/圆角等样式仅为提升视觉体验,可根据设计需求调整或移除。
⚠️ 注意事项
✅ 总结
相比手动分组数组再嵌套两层 map、或用
+ /| 模拟列布局,CSS Grid 方案代码更少、逻辑更直白、维护性更高,且天然支持响应式与对齐控制。对于“将线性数据集视觉划分为 N 列”的场景,Grid 是现代前端的首选实践。 |
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!