【问题标题】:How to use minmax func to limit amount of columns如何使用 minmax func 来限制列数
【发布时间】:2020-01-12 11:13:16
【问题描述】:

我正在尝试使用 css-grid 创建响应式网格设计。我想要大约 400 像素的列并且可以扩展到 500 像素。当一个网格单元不能再占据它的空间时,我希望它换行。本质上,在小视口上,我想要一列,而在更大的视口上,我想要最多 2 列。有没有办法在没有媒体查询的情况下做到这一点?我试图避免这种情况,因为我有一个可以扩展的侧边栏,它不会改变视图宽度。

.grid-wrapper {
  display: grid;
  /* below line DOES NOT WORK */
  grid-template-columns: repeat(minmax(1, 2), minmax(400, 500));
}

【问题讨论】:

  • 我认为您可以将答案移至自我答案并将其标记为正确;或者,如果给出的答案有用,则将其标记为正确(即可能是其他人来这里提出与您的问题类似的问题的答案)。

标签: css frontend css-grid


【解决方案1】:

网格自动填充最大宽度

您可以做 minmax,然后重复 minmax。

重复是第一个告诉重复多少次,第二个是重复什么。

使用自动填充为您提供最小宽度。

grid-template-columns: repeat(auto-fill,minmax(400px,1fr));

你可以告诉.grid-wrapper,例如max-width: 1000px;

就像你有办法控制网格一样。

我在这里做了一个简短的解释,但是,我并没有完全理解你的解释——你的桌子是什么样子的。

【讨论】:

  • 对不起我的描述,我会编辑它并包括我的答案。谢谢你的帮助,它把我推向了正确的方向!
  • 虽然我不知道如何解释从 400 像素扩展到 500 像素的列,但我有办法使用宽度和最大宽度来限制列数,这正是我真正想要的。 css .grid-wrapper { display: grid; grid-template-columns: repeat(auto-fill, 500px); max-width: 1000px; /* prevents more than 2 columns */ width: 100%; } 此处的自动填充将让浏览器决定在给定宽度内可以存在多少列。考虑到 max-width 设置为 1000px,2 500px 列只能存在于视图宽度大于或等于 1000px 的情况下。谢谢奥马尔!
猜你喜欢
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
  • 2013-12-31
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多