css - 如何在 3 列网格设置中拉伸(stretch)中间列

标签 css css-grid grid-layout

<分区>


这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助 future 的读者。

关闭 3 年前

我正在尝试使用单行三列“grid”系统设置标题。如:

* {box-sizing: border-box;}

.wrapper {
    border: 2px solid #f76707;
    border-radius: 5px;
    background-color: #fff4e6;
}

.wrapper > div {
    border: 2px solid #ffa94d;
    border-radius: 5px;
    background-color: #ffd8a8;
    padding: 1em;
    color: #d9480f;
}
.wrapper {
  display: grid;
  grid-template-columns: 100px,1fr,100px;
  grid-template-rows: 1fr;

  grid-template-areas: "a b c";

}
.item1 {
  grid-area: a;
  justify-self:start;
}
.item2 {
  grid-area: b;
  justify-self:stretch;
}
.item3 {
  grid-area: c;
  justify-self:end;
}
<div class="wrapper">
  <div class="item1">Item 1</div>
  <div class="item2">Item 2</div>
  <div class="item3">Item 3</div>
</div>

但是中间的列只会居中而不是拉伸(stretch)。 这是 fiddle https://jsfiddle.net/mmo7534/pnxtys79/2/

我怎样才能让它拉伸(stretch)?

最佳答案

从您的 grid-template-columns 值中删除逗号,这样您就不必担心单个元素的样式:

* {
  box-sizing: border-box;
}

.wrapper {
  border: 2px solid #f76707;
  border-radius: 5px;
  background-color: #fff4e6;
  display: grid;
  grid-template-columns: 100px 1fr 100px;
}

.wrapper>div {
  border: 2px solid #ffa94d;
  border-radius: 5px;
  background-color: #ffd8a8;
  padding: 1em;
  color: #d9480f;
}
<div class="wrapper">
  <div class="item1">Item 1</div>
  <div class="item2">Item 2</div>
  <div class="item3">Item 3</div>

</div>

关于css - 如何在 3 列网格设置中拉伸(stretch)中间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59490552/

上一篇:css - 使用W3卡时右侧空白

下一篇:css - 循环 CSS3 动画

相关文章:

html - 在 div 容器中带有滚动条的 CSS 网格

html - 即使到达页面末尾,覆盖元素 div 仍在滚动

html - 使渐变背景图案填充div的宽度并自动垂直重复

css - 子组件未占用 100% 的空间( Angular Material 选项卡)

html - 如何使用CSS将div的内容对齐到底部?

css - Susy Grid 2/Grid float : How to verticle align bottom on a floated element?

html - 在 Bootstrap 网格中没有获得任何 margin

html - 网格布局对齐项不考虑网格行尺寸

android - 安卓棋盘

android - Kotlin 中的网格布局?