我有一个有行的网格父级.李有两个子元素.第一个子元素的宽度未知.我想设置自动列宽.我可以用这个来实现这一点:

.list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
}
<div class="list">
  <span>First Child</span>
  <span>Second Child</span>

  <span>First</span>
  <span>Second Child</span>

  <span>Long Text Child</span>
  <span>Second Child</span>
</div>

但是我需要一个容器元素来处理行,但是我不能达到上面的结果:

.list {
  display: grid;
  gap: 1rem;
}

.row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
}
<div class="list">
  <div class="row">
    <span>First Child</span>
    <span>Second Child</span>
  </div>
  
  <div class="row">
    <span>First</span>
    <span>Second Child</span>
  </div>
  
  <div class="row">
    <span>Long Text Child</span>
    <span>Second Child</span>
  </div>
</div>

推荐答案

subgrid可用于使.row列轨道的大小与父网格的大小相同.

行应包含父行中定义的所有列.

.list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
}

.row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
}
<div class="list">
  <div class="row">
    <span>First Child</span>
    <span>Second Child</span>
  </div>

  <div class="row">
    <span>First</span>
    <span>Second Child</span>
  </div>

  <div class="row">
    <span>Long Text Child</span>
    <span>Second Child</span>
  </div>
</div>

Html相关问答推荐

如何通过将项目包裹在迪夫中来保持最右列的对齐方式来对齐项目?

如何翻转卡片图像的背面

不能以Angular 更改输入的S边框 colored颜色

根据按钮位置左/右对齐按钮

水平卷轴的内容保持堆叠

仅 Select 悬停的级别,而不 Select 其父级或子级

jQuery 索引返回不正确的结果

网页爬虫:使用时光机器进行数据采集

如何使用CSS将页面标题水平居中对齐

从 Vue 应用程序的容器元素渲染 HTML

在 CSS 中的 div 中获取文本以环绕其他文本?

如何在 Flex 对齐内容框下显示隐藏按钮和文本

如何更改 Quarto 中标签crossref-def-title的标题 colored颜色 ?

增加第一个字母的大小不再正确居中文本

提交前的验证表单未显示任何验证消息?

Bootstrap 5 英雄

如何将 img 元素定位到特定位置?

如何在 Tailwind CSS 中创建响应式网格布局?

弹出窗口溢出溢出:自动,我不明白为什么

我如何使用 HTML 和 CSS 在我的下拉菜单中获得这种类型的样式