【问题标题】:CSS grid control items number on each row [duplicate]每行上的CSS网格控件项目编号[重复]
【发布时间】:2021-07-30 19:51:57
【问题描述】:

有没有办法使用 CSS 网格指定每行应该有多少项目?

例如,第一行:4 项;第二行:5项;第三行:3 项;

我已阅读此https://developer.mozilla.org/en-US/docs/Web/CSS/grid 但我没有找到解决方案...

#container {
  display: flex;
  align-items: center;
  justify-content: center;
}

#innerContainer {
  grid-template-columns: repeat(4,minmax(0px,1fr));
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  align-items: center;
  text-align: center;
  justify-content: center;
  display: grid;
}

.item {
  width: 90px;
  height: 90px;
  background-color: blue;
}
<div id="container">
  <div id="innerContainer">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
</div>

【问题讨论】:

  • @isherwood 不确定我会理解,但我正在尝试????谢谢

标签: css


【解决方案1】:

如果你想使用网格,你需要从许多列开始,这些列可以划分为每行要求的每个项目。

这里 3,4 和 5 可以整除 60。

#container {
  display: flex;
  align-items: center;
  justify-content: center;
  border:solid;
}

#innerContainer {
  display: grid;
  grid-template-columns: repeat(60, 1fr);
  margin:-30px;
}

.item {
  min-width: 90px;
  width: calc(100% - 60px);/* remove the gap */
  background-color: blue;
  margin: 30px;/* set the gutter here */
  grid-column: auto / span 15;
  display: flex;
}

.item:before {
  content: '';
  padding-top: 100%;
  flex-basis: 0%;
}

.item:nth-child(4)~.item {
  grid-column: auto / span 12
}

.item:nth-child(9)~.item {
  grid-column: auto / span 20
}
<div id="container">
  <div id="innerContainer">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
  </div>
</div>

【讨论】:

    猜你喜欢
    • 2020-11-04
    • 2019-06-18
    • 2018-12-29
    • 2018-11-24
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    相关资源
    最近更新 更多