vmin 和 vmax的区别

简介: vmin是当前 vw 和 vh 中较小的一个值,vmax是当前 vw 和 vh 中较大的一个值。

vmin 和 vmax的区别


vmin是当前 vw 和 vh 中较小的一个值,vmax是当前 vw 和 vh 中较大的一个值。


做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 50vw),在竖屏和横屏状态下显示的字体大小是不一样的。

由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。


如果我们的宽高都设置成50vw和50vh的话


例如

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 50vw;
            height: 50vh;
            background: red;
        }
    </style>
</head>
<body>
    <div class="box">
    </div>
</body>
</html>

那么它的样式就是

5a028b257b034e1eb654cb1448ad8c5e.png

我们可以看到它的宽高并不是一样的,这时我们就需要借助vmin和vmax


如果我们使用vmin

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 50vmin;
            height: 50vmin;
            background: red;
        }
    </style>
</head>
<body>
    <div class="box">
    </div>
</body>
</html>

它的效果图就是

69dcdf49f8d94860a036c4943372767c.png

它是以最最短一边变成一个正方形,而使用vmax就是以最长的一边变成一个正方形


例如

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 50vmax;
            height: 50vmax;
            background: red;
        }
    </style>
</head>
<body>
    <div class="box">
    </div>
</body>
</html>```
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/b68fdf608faa474b8ebb050ff0e451e1.png)


相关文章
|
19天前
|
索引
for in 和 for of的区别
for in 和 for of的区别
|
7月前
bis和bic区别与实现
bis和bic区别与实现
56 0
|
8月前
|
JavaScript 小程序
bindtap和catchtap的区别?
在微信小程序中,bindtap 和 catchtap 都是用于绑定点击事件的属性,但它们在事件冒泡和事件捕获方面有所不同。
|
8月前
|
安全 C#
C#委托事件的区别
C#委托事件的区别
|
9月前
|
存储
逻辑移位与算术移位的区别
用一句简单的话来说就是:逻辑移位不需要考虑符号位,算术移位需要考虑符号位,我们都知道。数在计算机中都是以补码的形式来存储的,这才造成了逻辑移位和算术移位的的差别。
196 0
|
10月前
|
Java
While 与 do while 的区别
While 与 do while 的区别
47 0
|
JSON 数据格式
中writeValue和writeValueAsString的区别
writeValueAsString(obj):将传入的对象序列化为json,返回给调用者
|
容器 数据格式 XML
getMeasuredWidth和getWidth的区别
View的getWidth()和getMeasuredWidth()有什么区别吗? View的高宽是由View本身和Parent容器共同决定的。getMeasuredWidth()和getWidth()分别对应于视图绘制的measure和layout阶段。
1476 0
|
JavaScript 前端开发