css - 将 "repeat"与 "auto-fit"和固定宽度列组合在一个 "grid-template-columns"中

标签 css css-grid

我有一个定义大小的列(比方说 50 像素),然后是未确定数量的列,这些列应该在它们之间划分可用空间,最后是另一个 50 像素的列。
我知道如果我事先知道列的总数,这可以实现:

body > div {
  grid-template-columns: 50px repeat(3, 1fr) 50px;
  display: grid; grid-gap: 1rem; background: beige; width: 80%; padding: 1rem;
}
div div { background: IndianRed; min-height: 5rem;}
<div><div></div><div></div><div></div><div></div><div></div></div>

我也知道我可以这样做一个固定大小的列 + n 列:

body > div {
  grid-template-columns: 50px repeat(auto-fit, minmax(1px, 1fr));
  display: grid; grid-gap: 1rem; background: beige; width: 80%; padding: 1rem;
}
div div { background: IndianRed; min-height: 5rem;}
<div><div></div><div></div><div></div><div></div><div></div></div>

但具体情况并不能像这样工作。相反,我在最后留下了一个空列:

body > div {
  grid-template-columns: 50px repeat(auto-fit, minmax(1px, 1fr)) 50px;
  display: grid; grid-gap: 1rem; background: beige; width: 80%; padding: 1rem;
}
div div { background: IndianRed; min-height: 5rem;}
<div><div></div><div></div><div></div><div></div><div></div></div>

我想要做的事情可以用网格来实现吗?

最佳答案

从网格模板中删除最后一列。列模板现在看起来像这样:grid-template-columns: 50px repeat(auto-fit, minmax(1px, 1fr));然后添加这个:

div div:last-child {
     grid-column: -1;
     width: 50px;
}
那应该有效!

关于css - 将 "repeat"与 "auto-fit"和固定宽度列组合在一个 "grid-template-columns"中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69750350/

相关文章:

python - 使用样式器格式化数据帧索引和列

javascript - 遍历元素,改变 z 索引,Javascript

html - 即使在滚动时也始终保持在顶部的网站标题导航的 HTML/CSS 是什么?

angularjs - Angular 动画不工作。动画不会受到影响。

css - 当我在 Chrome 中调整窗口大小时显示网格卡被剪切

javascript - div 正在淡入,但突然淡出(Jquery)

javascript - 使用 JS/jQuery 闪烁通知/确认

css - 在单个 CSS 网格行上设置高度值

css - 为某些元素溢出/扩展 CSS 网格区域

CSS 网格 : how to make grid cell a hyperlink target?