自动网格大小调整,使css中的行连续第n个max

问题描述 投票:0回答:1

我正在尝试在CSS网格中自动调整列的大小。就像我有一个孩子div,它将覆盖母亲div的全部空间。但是,如果有多个child-div,它将允许row中有特定数量的child-div。在这里,我正在使用CSS网格。但是我做不到。这是我的代码

<div class="mother-div">
   <div class="child-div>
   </div>
   <div class="child-div>
   </div>
</div> 

css

.child-div {
    background-color: #257790;
    height: 100px;
    width: 100%;
}

.mother-div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 1em;
}
css grid
1个回答
0
投票

您正在寻找的东西几乎是自动的,网格的行为几乎是开箱即用的。

您只需要将grid-auto-flow设置为所需的方向

要限制每行的项目数,您需要使用nth-child选择器将它们设置为特定的列

.child-div {
    background-color: #257790;
    height: 50px;
    width: 100%;
}

.child-div:nth-child(5n+1) {
    grid-column: 1;
}
.child-div:nth-child(5n+2) {
    grid-column: 2;
}
.child-div:nth-child(5n+3) {
    grid-column: 3;
}
.child-div:nth-child(5n+4) {
    grid-column: 4;
}
.child-div:nth-child(5n) {
    grid-column: 5;
}

.mother-div {
    margin: 10px;
    width: 500px;
    border: solid 3px black;
    display: grid;
    grid-gap: 1em;
    grid-auto-flow: column; 
}
<div class="mother-div">
   <div class="child-div">
   </div>
</div> 
<div class="mother-div">
   <div class="child-div">
   </div>
   <div class="child-div">
   </div>
</div>
<div class="mother-div">
   <div class="child-div">1
   </div>
   <div class="child-div">2
   </div>
   <div class="child-div">3
   </div>
   <div class="child-div">4
   </div>
   <div class="child-div">5
   </div>
   <div class="child-div">6
   </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.