CSS Grid 在使用 `minmax()` 和 `auto-fit` 的情况下未考虑最小值。

3

嗨,我正在尝试创建具有相应行为的列。列的宽度可以在335px或540px之间变化。

但是当我使用grid-template-columns: repeat(auto-fit, minmax(335px, 540px))时,似乎只考虑了540px。

例如,如果有700px可用,我想要3个项目分布在2列中。

.box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(335px, 540px));
  grid-gap: 10px;
  row-gap: 10px;
}

.item {
  background: red;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class="box">
    <div class="item item1">1</div>
    <div class="item item2">2</div>
    <div class="item item3">3</div>
  </div>
</body>
</html>

1个回答

1
考虑在元素上使用max-width,并在minmax()内部使用1fr

.box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(335px, 1fr));
  grid-gap: 10px;
}

.item {
  background: red;
  max-width: 540px;
}
<div class="box">
  <div class="item item1">1</div>
  <div class="item item2">2</div>
  <div class="item item3">3</div>
</div>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接