css3自適應佈局單位vw,vh你知道多少?

*視口單位(Viewport units)*

什麼是視口?

在PC端,視口指的是在PC端,指的是瀏覽器的可視區域;

而在移動端,它涉及3個視口:Layout Viewport(佈局視口),Visual Viewport(視覺視口),Ideal Viewport(理想視口)。

視口單位中的“視口”,PC端指的是瀏覽器的可視區域;移動端指的就是Viewport中的Layout Viewport。

根據CSS3規範,視口單位主要包括以下4個:

1.vw:1vw等於視口寬度的1%。

2.vh:1vh等於視口高度的1%。

3.vmin:選取vw和vh中最小的那個。

4.vmax:選取vw和vh中最大的那個。

vh and vw:相對於視口的高度和寬度,而不是父元素的(CSS百分比是相對於包含它的最近的父元素的高度和寬度)。1vh 等於1/100的視口高度,1vw 等於1/100的視口寬度。

比如:瀏覽器高度950px,寬度爲1920px, 1 vh = 950px/100 = 9.5 px,1vw = 1920px/100 =19.2 px。

vmax相對於視口的寬度或高度中較大的那個。其中最大的那個被均分爲100單位的vmax。

vmin相對於視口的寬度或高度中較小的那個。其中最小的那個被均分爲100單位的vmin。

img

vh/vw與%區別

img

請看下面簡單的栗子:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>VW&VH</title>
</head>
<style>
    * {
        padding: 0;
        margin: 0
    }

    .left {
        float: left;
        width: 50vw;
        height: 20vh;
        background-color: blue;
        text-align: center;
        line-height: 20vh;
        font-size: 3rem
    }

    .right {
        float: right;
        width: 50vw;
        height: 20vh;
        background-color: green;
        text-align: center;
        line-height: 20vh;
        font-size: 3rem
    }
</style>

<body>
    <div class="left">left</div>
    <div class="right">right</div>
</body>

</html>

兼容性問題(在移動端 iOS 8 以上以及 Android 4.4 以上獲得支持,並且在微信 x5 內核中也得到完美的全面支持)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章