CSS min() 函数

CSS min() 语法

在 CSS 中,min() 函数用于从一组值中取最小值,并将这个最小值作为 CSS 属性的值。

语法:

property: min(value1, value2, ...);

说明:

property 是一个 CSS 属性,例如 width、height、font-size 等。value1、value2 等是属性的值。

对于 min() 函数,小伙伴们还需要清楚以下几点。

  • min() 函数可以接受多种类型的值,包括:
    • 长度(如 100px、10em、50%)。
    • 角度(如 30°、0.5rad)。
    • 时间(如 2s、500ms)。
    • 频率(如 100Hz、2kHz)。
    • 数字(无单位的值,例如 2)。
  • min() 函数可以接收一个或多个值,不过一般接收两个及以上的值,然后它会从这些值中返回最小的那个。
  • min() 函数可以比较不同单位的值,例如百分比与像素。
  • min() 函数支持嵌套计算。也就是说,你可以在 min() 中使用另一个 min()。

提示: min() 用于取最小值,而 max() 用于取最大值。

CSS min() 摘要

属于 CSS 函数
使用频率
兼容性 查看
官方文档 查看
MDN 查看

CSS min() 示例

接下来,我们通过几个简单的例子来讲解一下 CSS min() 函数是如何使用的。

示例 1:min() 基本使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            width: min(50%, 400px);
            height: 100px;
            background-color: lightskyblue;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <div>绿叶网</div>
</body>
</html>

页面效果如下图所示。

min() 基本使用

分析:

width: min(50%, 400px) 会确保 div 元素的宽度为 50% 或 400px 中的较小值。

当我们改变浏览器宽度时,如果浏览器宽度大于 800px,此时 div 的宽度就是 400px;如果浏览器宽度小于等于 800px,此时 div 的宽度就是 50%。

示例 2:min() 结合 calc() 函数

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        .container {
            width: 80%;
            margin: 0 auto;
            background-color: hotpink;
        }
        aside {
            width: min(200px, calc(40% - 20px));
            height: 100px;
            background-color: lightskyblue;
        }
    </style>
</head>
<body>
    <div class="container">
        <aside>绿叶网</div>
    </div>
</body>
</html>

页面效果如下图所示。

min() 结合 calc() 函数

分析:

width: min(200px, calc(40% - 20px)) 表示将 aside 元素的宽度为 “200px” 或 “容器宽度的 40% 减去 20px” 中的较小值。

min() 结合 calc() 函数这种方式,非常适合用于实现需要限制最大宽度的自适应布局。

示例 3:min() 实现响应式字体大小

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        body {
            font-size: min(18px, 2vw);
        }
        div {
            font-size: min(1.5rem, 20px);
        }
    </style>
</head>
<body>
    <p>绿叶网</p>
    <div>为好教程,全力以赴。</div>
</body>
</html>

页面效果如下图所示。

min() 实现响应式字体大小

分析:

font-size: min(18px, 2vw) 会确保 body 的字体大小不超过 18px 或 2vw 中的较小值。类似地,div 的字体大小会限制为 1.5rem 或 20px 中的较小值。

示例 4:min() 结合 CSS 媒体查询

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        p {
            font-size: min(16px, 1.8vw);
        }
        @media (max-width: 1200px) {
            p {
                font-size: min(14px, 1.5vw);
            }
        }
    </style>
</head>
<body>
    <p>绿叶网 - 为好教程,全力以赴。</p>
</body>
</html>

页面效果如下图所示。

min() 与媒体查询结合

分析:

min(16px, 1.8vw); 表示设置字体大小为 16px 或 1.8vw 中的较小值。然后我们使用 @media 规则实现媒体查询,使得当屏幕宽度小于等于 1200px 时,字体大小调整为 14px 或 1.5vw 中的较小值。

上一篇: max()

下一篇: clamp()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号