You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何构建元素直接上下对齐的网格 实现仪表板布局块紧密堆叠

解决方案

你要实现的紧凑卡片堆叠属于典型的瀑布流网格布局,使用CSS Grid可以原生实现该效果,无需引入额外脚本。修改代码如下:

核心修改点

  1. 替换原有的浮动布局为Grid布局,新增/修改如下CSS规则:
/* 新增grid容器规则 */
.dashboard_flex {
  display: grid;
  grid-template-columns: repeat(5, var(--w1));
  gap: var(--p);
  padding: 0 var(--p);
}

/* 给宽度类新增跨列配置 */
.w1 {
  width: 100%;
  grid-column: span 1;
}
.w2 {
  width: 100%;
  grid-column: span 2;
}
.w3 {
  width: 100%;
  grid-column: span 3;
}
.w4 {
  width: 100%;
  grid-column: span 4;
}

/* 给高度类新增跨行配置 */
.h1 {
  height: 100%;
  grid-row: span 1;
}
.h2 {
  height: 100%;
  grid-row: span 2;
}
.h3 {
  height: 100%;
  grid-row: span 3;
}
.h4 {
  height: 100%;
  grid-row: span 4;
}
.h5 {
  height: 100%;
  grid-row: span 5;
}

/* 调整widget样式,移除冗余规则 */
.widget {
  border-radius: 5px;
  background: var(--dashboard_bg);
  display: flex;
  align-items: center;
  justify-content: center;
}
  1. 删除原有冗余规则:
  • 移除.widget选择器中的margin: var(--p)属性,卡片间距已通过Grid的gap属性统一控制
  • 移除.dashboard_flex .widget选择器中的float: left属性

修改后Grid会自动计算空间填充位置,卡片F会直接排列在A的正下方,卡片G会排列在B、C的正下方,不会出现多余空白间隙。


内容的提问来源于stack exchange,提问作者Houy Narun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 16:06:01