问题描述
我开始使用 CSS Grid,我一直在阅读有关有助于响应的属性;所以我正在尝试构建一个包含 6 个元素的小网格;我的目的是让它们在这样的较大设备上显示为 2 行:
而且为了显示它们都堆叠在较小的设备上,所以对于较小的设备来说一切都很好,我正在使用 auto-fill
所以它保持响应,但是如果我查看页面一个笔记本电脑屏幕或台式机,它能够多填充一列,最终看起来像这样:
这是我的 grid
布局代码.
显示:网格;网格模板列:重复(自动填充,260 像素);对齐内容:居中;行距:18px;列距:18px;
有没有办法既保持响应行为又设置最大列数?任何帮助表示赞赏;如果它只能通过媒体查询来完成,那很好,但我首先尝试寻找不使用它们的方法.此外,我通过为整个网格容器设置水平 padding
以补偿附加列的大小,使其按预期工作;但同样,如果有更好的方法,我会全神贯注.谢谢!
工作示例https://codepen.io/IvanS95/pen/NEYdxb
使用以下语法:
网格模板列:260px 260px 260px;
或
网格模板列:repeat(3,260px);
取而代之的是:
网格模板列:重复(自动填充,260像素);
使用媒体查询在较小的屏幕上设置较少的列.
此外,如果行距和列距相同,您可以使用 grid-gap.
.grid-container{显示:网格;网格模板列:260 像素 260 像素 260 像素;网格间隙:18px;背景色:#fff;颜色:#444;对齐内容:居中;}.卡片 {边框:1px 实心 #000;宽度:260px;高度:260px;}
<div class="grid-container"><div class="grid-item"><div class="card"></div><div class="grid-item"><div class="card"></div>
<div class="grid-item"><div class="card"></div>
<div class="grid-item"><div class="card"></div>