我有一个填充整个水平空间的布局,并且由于网格布局,最后一行中的项目仍然与其他行具有相同的宽度。
现在,当调整屏幕大小时,项目的宽度会发生变化,以便填充整行。是否可以将项目的宽度固定并调整网格间隙?
https://jsfiddle.net/c60ymrfu/
当前CSS:
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
grid-auto-rows: 20px;
grid-gap: 5px;
}
Run Code Online (Sandbox Code Playgroud)
您可以添加一些包装元素并为项目提供固定宽度,如下所示:
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
grid-auto-rows: 20px;
grid-gap: 5px;
}
.item {
background: yellow;
text-align: center;
border: 1px solid red;
width: 100px;
margin: auto;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div>
<div class="item">1</div>
</div>
<div>
<div class="item">2</div>
</div>
<div>
<div class="item">3</div>
</div>
<div>
<div class="item">4</div>
</div>
<div>
<div class="item">5</div>
</div>
<div>
<div class="item">6</div>
</div>
<div>
<div class="item">7</div>
</div>
<div>
<div class="item">8</div>
</div>
<div>
<div class="item">9</div>
</div>
<div>
<div class="item">10</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
然后,您可以按照您认为合适的方式将这些项目放置在其包装父级中。