我希望我的网格项目最小为220像素,最大为250像素,并且能够响应。所以首先我尝试了这个网格:
1) grid-template-columns: repeat(auto-fill, minmax(220px, 250px));
很好,但是问题在于它要么生成220px或250px的项目。 In不会根据容器大小使项目介于两者之间(例如201px,202px,203px等)。无论如何,minmax应该是如何工作的,但是它没有实现我想要的功能。
所以我尝试了这段代码:
2) grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
这几乎是完美的,但是该项目最终会超过250px,最终达到263px,277px等,这再次取决于容器的大小。因此,要解决此问题,我自然将其添加到每个项目中:
3) max-width:250px;
它解决了我想要的东西,但创建了一个新问题。设置为15像素的网格间隙开始在超过15像素的项目之间增长。我可以实现我想要的吗?
我希望网格项目在220像素到250像素之间,并根据网格的容器在这些尺寸之间进行更改,并且我希望网格间隙恰好在15像素处。
这里是最终结果的样子:https://jsfiddle.net/01w293sv/2/
我看了一下您的代码,如果我正确理解了您的问题,我可以假设为了使网格间隙恰好为15px,可以将这两个属性一起使用:grid-row-gap:15px;和grid-column-gap:15px;
我不确定100%是否能理解“网格项目在220像素到250像素之间,并根据网格的容器在这些尺寸之间进行更改”的含义,但是如果您要根据屏幕尺寸显示不同的容器尺寸,可以尝试使用@media(min-width:)和@media(max-width:)设置所需的屏幕尺寸。查阅以下可能对您有帮助的资源:http://grid.malven.co/ https://css-tricks.com/almanac/