- 本文简单的说一下和网格布局相关的 3 个函数,
repeat() minmax() fit-content()
repeat
- 函数表示轨道列表的重复片段,允许以更紧凑的形式写入大量显示重复模式的列或行
- 该函数可以用于 CSS Grid 属性中
grid-template-columns 和 grid-template-rows
示例
- 语法为
grid-template-columns: 1fr 1fr 2fr or grid-template-columns: repeat(2, 1fr) 2fr, 为了方便我们在下面将省略 grid-template-columns:
repeat(3, 1fr);
repeat(3, [col-start] 60% [col-end]);
repeat(3, [col-start] min-content [col-end])
repeat(3, [col-start] max-content [col-end])
repeat(3, [col-start] auto [col-end])
repeat(3, [col-start] minmax(100px, 1fr) [col-end])
repeat(3, [col-start] fit-content(200px) [col-end])
repeat(2, 1fr 30px)
- 上面的例子中加了一些注释, 大部分应该都可以理解
fr 单位指定轨道的弹性系数。轨道会根据其弹性系数按比例分配剩余空间
max-content 网格轨道的网格项目所分配的最大内容区域的最大值
min-content 网格轨道的网格项目所分配的最小内容区域的最小值
auto 作为最大值时,等同 max-content; 作为最小值时, 最小尺寸的最大值(如同 min-width/ min-height)
repeat(auto-fill, 250px)
repeat(auto-fit, 250px)
minmax
- 定义一个长宽范围的闭区间,它与CSS 网格布局一起使用
- 此函数包含两个参数,最小值 和 最大值
示例
- 语法为
grid-template-columns: minmax(200px, 1fr) 2fr, 为了方便我们在下面将省略 grid-template-columns:
minmax(200px, 1fr)
minmax(100px, max-content)
minmax(min-content, 400px)
minmax(min-content, auto)
fit-content
- 盒子会使用可用的空间,但永远不会超过
max-content
fit-content 属性可以用于设置元素的 width、height、min-width、min-height、max-width 和 max-height,此时最大和最小尺寸将基于元素的内容尺寸计算。
示例
width: fit-content;
block-size: fit-content;
参考文档