前端开发常用单位-vminvmax

vmin 和 vmax 概述

  • vmin: 的取值为 vwvh 中较小的那个
  • vmax: 的取值为 vwvh 中较大的那个

使用场景: 保证移动开发中屏幕 旋转 之后的尺寸不变

例如我现在利用 vw 和 vh 单位设置一个 div 元素的宽高,然后我们来看看在移动开发中旋转和不旋转的展示效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板文件</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        div {
            width: 10vw;
            height: 10vh;
            background: red;
        }
    </style>
</head>
<body>
<div></div>

<script>
    console.log(window.innerWidth, window.innerHeight);
    let oDiv = document.querySelector("div");
    console.log(getComputedStyle(oDiv).width);
    console.log(getComputedStyle(oDiv).height);
</script>
</body>
</html>

不旋转之前:

image-20211212174331862

旋转之后:

image-20211212174143102

发现在旋转也不旋转的情况下尺寸是不同的,这个时候就可以利用 vmin 与 vmax 来进行保持不变:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板文件</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        div {
            width: 10vmin;
            height: 10vmax;
            background: red;
        }
    </style>
</head>
<body>
<div></div>

<script>
    console.log(window.innerWidth, window.innerHeight);
    let oDiv = document.querySelector("div");
    console.log(getComputedStyle(oDiv).width);
    console.log(getComputedStyle(oDiv).height);
</script>
</body>
</html>

不旋转之前:

image-20211212174331862

旋转之后:

image-20211212174503775

posted @ 2021-12-12 22:06  BNTang  阅读(582)  评论(0编辑  收藏  举报