是的,你可以!
或者,如果不完全是这些术语,那么至少是下一个最好的东西。在 2020 年,现在使用 CSS 数学函数非常简单:min()、max() 和 clamp()。
min 计算从逗号分隔的值列表(任意长度)中选择最小值。这可用于定义 max-padding 或 max-margin 规则:
padding-right: min(50px, 5%);
max 计算类似地从逗号分隔的值列表(任意长度)中选择最大值。这可用于定义最小填充或最小边距规则:
padding-right: max(15px, 5%);
clamp 取三个值; 最小值、首选和最大值值,按顺序排列。
padding-right: clamp(15px, 5%, 50px);
MDN 指定clamp 实际上只是以下的简写:
max(MINIMUM, min(PREFERRED, MAXIMUM))
这是一个clamp,用于在值100px 和200px 之间包含25vw 边距:
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
.container {
width: 100vw;
border: 2px dashed red;
}
.margin {
width: auto;
min-width: min-content;
background-color: lightblue;
padding: 10px;
margin-right: clamp(100px, 25vw, 200px);
}
<div class="container">
<div class="margin">
The margin-right on this div uses 25vw as its preferred value,
100px as its minimum, and 200px as its maximum.
</div>
</div>
数学函数可用于各种不同的场景,甚至是像缩放font-size 这样可能不明显的场景——它们不仅仅用于控制边距和填充。在本文顶部的 MDN 链接中查看完整的用例列表。
Here is the caniuse list of browser support。覆盖范围通常非常好,包括几乎所有现代浏览器 - 除了一些次要的移动浏览器,尽管我自己还没有测试过。