使用 minmax() 和 min() 创建内在响应式 CSS 网格

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

迄今为止,CSS 网格中最著名的代码行是

grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));

无需任何媒体查询,这将设置一个具有灵活列数的网格容器。这些列会稍微拉伸,直到有足够的空间容纳另一个列,然后添加一个新列,反之亦然。

这里唯一的缺点是 minmax() 中的第一个值(上面的 10rem 值)。如果容器比该最小值窄,则该单列中的元素将溢出。Evan Minto 使用 min() 为我们展示了解决方案

grid-template-columns: repeat(auto-fill, minmax(min(10rem, 100%), 1fr));

浏览器支持尚未普及,但 Evan 演示了一些渐进增强技术,可以立即利用它们。

直接链接 →