提问者:小点点

如何平等地间隔css网格列?


我有一个以表格格式显示数据的网格。我公司的前一个开发人员使用grid-template-columns和minmax属性来实现视图,但其中一个表的第一列很宽,其他每一列都是正常的。我如何将它们等量地间隔开,这样它们的宽度就一样了?

我试过使用minmax(auto,1fr)和repeat(auto-fill,minmax(max-content,1fr)),但它只是把视图的整个结构搞乱了

主容器具有以下CSS:

    display: grid;
    grid-template-columns: minmax(min-content, 30%) 1fr auto;
    justify-content: center;

并且显示表数据的页面的prt如下所示:

    display: grid;
    grid-template-columns: minmax(auto, 1fr);

我希望每一列的间距都相等

查看图像


共1个答案

匿名用户

下面是使用网格的3个相等列的示例:

null

.parent {
  background: blue;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  height: 100%;
  width: 100%;
}

.child-1 {
  background: red;
  grid-column-start: 1;
  grid-column-end: 2;
  grid-row-start: 1;
  grid-row-end: 3 end;
}

.child-2 {
  background: green;
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 3 end;
}

.child-3 {
  background: black;
  grid-column-start: 3;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 3 end;
}

@-- Non-Grid Styles --@

body {
  height: 100vh;
  margin: 0;
  width: 100vw;
}

.child-1,
.child-2,
.child-3 {
  align-items: center;
  color: white;
  display: flex;
  justify-content: center;
}
<div class="parent">
  <div class="child-1">child 1</div>
  <div class="child-2">child 2</div>
  <div class="child-3">child 3</div>
</div>