--- title: minmax() slug: Web/CSS/minmax() tags: - CSS - CSS函数 - CSS网格 - Web - 参考 - 实验 - 布局 translation_of: Web/CSS/minmax() ---
CSS函数minmax
()
定义了一个长宽范围的闭区间, 它与CSS网格布局一起使用。
/* <inflexible-breadth>, <track-breadth> values */ minmax(200px, 1fr) minmax(400px, 50%) minmax(30%, 300px) minmax(100px, max-content) minmax(min-content, 400px) minmax(max-content, auto) minmax(auto, 300px) minmax(min-content, auto) /* <fixed-breadth>, <track-breadth> values */ minmax(200px, 1fr) minmax(30%, 300px) minmax(400px, 50%) minmax(50%, min-content) minmax(300px, max-content) minmax(200px, auto) /* <inflexible-breadth>, <fixed-breadth> values */ minmax(400px, 50%) minmax(30%, 300px) minmax(min-content, 200px) minmax(max-content, 200px) minmax(auto, 300px)
此函数包含两个参数,最小值 和 最大值.
每个参数分别是<length>
、<percentage>
、<flex>
的一种,或者是max-content
、min-content
、或auto
之一。
如果 最大值 < 最小值,则最大值被忽略并且minmax(最小值,最大值)
被看成最小值。{{cssxref("flex_value","<flex>")}} 值作为最大值时设置网格轨道的弹性系数;作为最小值时无效。
<percentage>
必须取值为auto
。{{glossary("user agent")}} 可将轨道的内部长宽贡献调整为网格容器的长宽,并按将导致百分比达到的最小值来增加轨道的最终长宽。fr
的非负维度,指定轨道弹性布局的系数值。每个<flex>
长度的轨道都以其系数值比例均分剩余空间。max-content
min-content
auto
max-content
。作为最小值时,它表示轨道中单元格最小长宽 (由{{cssxref("min-width")}}/{{cssxref("min-height")}})的最大值。#container { display: grid; grid-template-columns: minmax(max-content, 300px) minmax(200px, 1fr) 150px; grid-gap: 5px; box-sizing: border-box; height: 200px; width: 100%; background-color: #8cffa0; padding: 10px; } #container > div { background-color: #8ca0ff; padding: 5px; }
<div id="container"> <div> Item as wide as the content,<br/> but at most 300 pixels. </div> <div> Item with flexible width but a minimum of 200 pixels. </div> <div> Inflexible item of 150 pixels width. </div> </div>
{{EmbedLiveSample("example", "100%", 200)}}
规范 | 状态 | 备注 |
---|---|---|
{{SpecName("CSS Grid", "#valdef-grid-template-columns-minmax", "minmax()")}} | {{Spec2("CSS Grid")}} | 初始定义 |
{{Compat("css.properties.grid-template-columns.minmax")}}