子网格布局 海报
№ 228

子网格布局

定义 Definition

让嵌套内容与父网格共享同一套轨道,协同排版,实现跨层级的严格对齐。

要目 Key Points
继承轨道子网格不重新定义轨道,而是继承父网格的轨道。
对齐一致所有边界与子元素按父网格轨道完全对齐。
嵌套布局通过 subgrid 属性继承父网格的行列轨道。
用法 Application

子网格让复杂布局更可控,层级更清晰,维护更高效。

关键词 Keywords
子网格轨道继承对齐嵌套
参见 Related
易混 Confusable
回忆评估 Review
看完海报,凭回忆作答——评分后排入复习队列
一级分类网页与 UI
本主题共21 个概念
高清原图 CDN 打开 ↗
学习路径 图鉴 · 研习两用

实况演示

Live Demo · 真实 HTML/CSS
关键 CSS fold / unfold
/* ═══ 本 demo 自定义样式 ═══ */

.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .sg-card { border: 1px solid var(--line); }
  .sg-card .rows {
    display: grid; grid-template-rows: subgrid; grid-row: span 3;
    gap: 6px; padding: 10px;
  }
  .sg-card .cv { aspect-ratio: 16/8; background: color-mix(in srgb, var(--accent) 10%, var(--paper-2)); }
  .sg-card .t { font-weight: 600; font-size: 12.5px; align-self: start; }
  .sg-card .m { font-family: var(--mono); font-size: 10px; color: var(--ink-3); align-self: end; }

/* ═══ 共享令牌类 · demo 外壳已内置 ═══ */

.blk {
  background: color-mix(in srgb, var(--ink) 4%, transparent);
  border: 1px solid var(--line); border-radius: 2px;
  display: grid; place-items: center;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; color: var(--ink-2);
  padding: 10px; min-height: 34px;
}
.blk.acc {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent);
}
.blk.ink { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.tag {
  display: inline-block; font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  border: 1px solid var(--line); color: var(--ink-2); padding: 2px 8px;
  border-radius: 2px; background: var(--paper-2);
}
.card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; }
.card .cv { aspect-ratio: 16/10; background: color-mix(in srgb, var(--accent) 10%, var(--paper-2)); border-bottom: 1px solid var(--line); }
.card .bd { padding: 9px 10px; }
.card .bd .t { font-weight: 600; font-size: 12.5px; }
.card .bd .m { font-family: var(--mono); font-size: 10px; color: var(--ink-3); margin-top: 2px; }
.avatar {
  width: 34px; height: 34px; border-radius: 50%; flex: none;
  background: color-mix(in srgb, var(--accent) 22%, var(--paper-2)); border: 1px solid var(--line);
}
.fake-text { height: 8px; background: color-mix(in srgb, var(--ink) 10%, transparent); border-radius: 1px; }
.fake-text.w60 { width: 60%; } .fake-text.w80 { width: 80%; } .fake-text.w40 { width: 40%; }
.fake-text + .fake-text { margin-top: 6px; }

同主题

查看全部 →