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

如何使用CSS Grid实现表头元素在网格第一列展示

问题描述

我正尝试使用display: grid;将表头元素展示在第一列,以下是我的代码片段:

CSS代码

.grid-container {
  margin: 1rem;
  display: grid;
  grid-template-columns: 2fr 2fr 1fr;
  align-items: baseline;
}

.h1 {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.h2 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.flex {
  display: flex;
}

.col {
  flex-direction: column;
  margin: 1rem;
}

body {
  background-color: aliceblue;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
  text-align: center;
}

p {
  margin: 0;
}

.presentation {
  margin-bottom: 3rem;
}

.box {
  margin: 1rem 2rem;
  padding: 1rem;
  background-color: #000;
  color: white;
  width: 80%;
}

.ok {
  background: green;
}

.not-ok {
  background: darkred;
}

HTML代码

<body>
  <div class="presentation">
    <h1>Hi there</h1>
    <p>我尝试用grid实现表头放在第一列的效果</p>
  </div>

  <div class="box ok">
    <div>用flex实现的预期效果</div>
    <div class="flex">
      <div class="col">
        <div>header 1</div>
        <div>header 2</div>
      </div>
      <div class="col">
        <div>b0</div>
        <div>b1</div>
      </div>
      <div class="col">
        <div>c0</div>
        <div>c1</div>
      </div>
    </div>
  </div>

  <div class="box not-ok">
    <div>未生效的grid示例</div>
    <div class="grid-container">
      <div class="h1">header 1</div>
      <div class="h2">header 2</div>
      <div>b0</div>
      <div>b1</div>
      <div>c0</div>
      <div>c1</div>
    </div>
  </div>
</body>

我之前查过相关的技术帖子,但发布时间已经有10年,参考价值有限,希望得到帮助。

解决方案

代码的核心问题是.h1的grid-row配置错误:grid-row: 1 / 3代表该元素会横跨第一到第三条网格线之间的区域,也就是独占第一列的两行高度,直接把原本要放在第一列第二行的.h2挤到了后续列,导致布局错乱。

只需要调整.h1的grid-row属性,让它仅占用第一行即可,修改后的对应CSS代码如下:

.h1 {
  grid-column: 1 / 2;
  grid-row: 1 / 2; /* 仅占用第一行高度 */
}

.h2 {
  grid-column: 1 / 2;
  grid-row: 2 / 3; /* 占用第二行高度 */
}

修改后两个表头会在第一列上下排列,其余内容会自动填充到对应行的后续列,完全符合你用flex实现的预期效果。

内容的提问来源于stack exchange,提问作者Ben Grandin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:36:03