gpt4 book ai didi

html - 在 Css-grid 上设置 grid-gap 以自动填充可用的水平空间

转载 作者:行者123 更新时间:2023-12-04 13:30:38 28 4
gpt4 key购买 nike

我正在尝试计算 Css 网格的 'grid-gap' 属性以使用 Sass 填充所有可用空间。
Depiction
这是我的设置。

//Don't want to use javascript
//scss
$width: 250px;
.product-grid {
$total: 100%;
$count: 4; // <--- hardcoded value, I want this to be calculated automatically
display: grid;
grid-template-rows: auto;
grid-template-columns: repeat(auto-fill, minmax($width, 1fr));
max-height: $count;
grid-gap: calc(calc(#{$total} - calc(#{$count} * $width)) / (#{$count - 1}));
}

.product {
width: $width;
height: 406px;
background:red;
}
<div class="container">
<div class="product-grid">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>
</div>

我目前能够计算出适合产品的“网格间隙”应该有多大,前提是我给它提供了容器中可以容纳多少列 - '$count'。如果我能够以某种方式计算“$count”,我就大功告成了。
我试过的
$count: floor(calc(#{$total} / #{$width})); //but this won't work because the result is not a 'Number'

最佳答案

不建议使用 Grid 来创建该行为。 Flexbox 是最好的解决方案,使用 justify-content: space-between

.product-grid {
display: flex;
justify-content: space-between;
width: 500px;
border: 1px solid blue;
}

.product {
width: 50px;
height: 50px;
background:red;
border: 1px solid yellow;
}
  <div class="product-grid">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>

关于html - 在 Css-grid 上设置 grid-gap 以自动填充可用的水平空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65303597/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com