min()
**min()
** CSS 函数 允许您将逗号分隔的表达式列表中的最小(最负)值设置为 CSS 属性值的 value。min()
函数可以在允许使用 <length>
、<frequency>
、<angle>
、<time>
、<percentage>
、<number>
或 <integer>
的任何地方使用。
试试看
在第一个上面的示例中,宽度最多为 200px,但如果视窗宽度小于 400px(在这种情况下 1vw 为 4px,因此 50vw 为 200px),则宽度会更小。此技巧使用绝对单位指定属性的固定最大值,并使用相对单位允许值缩小以适应较小的视窗。
语法
注意
- 在自动和固定布局表格中,涉及表格列、表格列组、表格行、表格行组和表格单元格宽高百分比的数学表达式可能被视为指定了
auto
。 - 允许嵌套
max()
和其他min()
函数作为表达式值。表达式是完整的数学表达式,因此您可以使用直接加法、减法、乘法和除法,而无需使用calc()
函数本身。 - 表达式可以是结合加法 ( + )、减法 ( - )、乘法 ( * ) 和除法 ( / ) 运算符的值,使用标准运算符优先级规则。确保在 + 和 - 运算符的两侧都加上空格。表达式中的运算符可以是任何
<length>
语法值。 - 您可以(并且通常需要)组合
min()
和max()
值,或者在clamp()
或calc()
函数中使用min()
。 - 如果您有多个约束要应用,您可以提供两个以上的参数。
正式语法
无障碍
在使用min()
设置最大字体大小时,请确保字体仍然可以缩放至少 200% 以确保可读性(无需辅助技术,如缩放功能)。
示例
设置标签和输入的最大尺寸
min()
的另一个用例是在响应式表单控件上设置最大尺寸:允许标签和输入的宽度随着表单宽度的缩小而缩小。
让我们来看一些 CSS 代码
css
input,
label {
padding: 2px;
box-sizing: border-box;
display: inline-block;
width: min(40%, 400px);
background-color: pink;
}
form {
margin: 4px;
border: 1px solid black;
padding: 4px;
}
这里,表单本身,以及边距、边框和填充,将占据其父级宽度的 100%。我们将输入和标签声明为表单宽度 40% 的较小值,上限为填充或 400 像素宽,以较小者为准。换句话说,标签和输入的最大宽度为 400 像素。它们的最小宽度将是表单宽度的 40%,在智能手表屏幕上,这个宽度非常小。
html
<form>
<label for="misc">Type something:</label>
<input type="text" id="misc" name="misc" />
</form>
规范
规范 |
---|
CSS 值和单位模块级别 4 # calc-notation |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。