視口單位(Viewport units)
什么是視口?
在桌面端,視口指的是在桌面端,指的是瀏覽器的可視區域;而在移動端,它涉及3個視口:Layout Viewport(布局視口),Visual Viewport(視覺視口),Ideal Viewport(理想視口)。
視口單位中的“視口”,桌面端指的是瀏覽器的可視區域;移動端指的就是Viewport中的Layout Viewport, “視區”所指為瀏覽器內部的可視區域大小,即window.innerWidth/window.innerHeight
大小,不包含任務欄標題欄以及底部工具欄的瀏覽器區域大小。。
根據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。
vh/vw與%區別
請看下面簡單的栗子:
<!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 內核中也得到完美的全面支持)
轉載自
https://www.cnblogs.com/luxiaoxing/p/7544375.html